как преобразовать объект в json с помощью jsonconvert-without-key-qoutations

Я использую jsonconvert для преобразования простых объектов в json, как

JsonConvert.SerializeObject(new { label = "MyLabel1" });

to

{ "label":"MyLabel1" }

но я хочу получить ключи без кавычек, как

{ label: "MyLabel1"}

есть ли способ конвертировать объекты в JSON withoud "key"-котировки с помощью jsonconvert?

1 ответов


любая библиотека, которая ожидает JSON или фактическую нотацию JavaScript для создания объектов (которая является надмножеством JSON), должна отлично работать с кавычками.

но если вы действительно хотите, чтобы удалить их, вы можете установить JsonTextWriter.QuoteName значение false. Для этого требуется написать код, который JsonConvert.SerializeObject() использует по руке:

private static string SerializeWithoutQuote(object value)
{
    var serializer = JsonSerializer.Create(null);

    var stringWriter = new StringWriter();

    using (var jsonWriter = new JsonTextWriter(stringWriter))
    {
        jsonWriter.QuoteName = false;

        serializer.Serialize(jsonWriter, value);

        return stringWriter.ToString();
    }
}