Json.Net – Сериализовать имя свойства без кавычек

Я пытаюсь заставить Json.Net сериализовать имя свойства без меток кавычек и затруднять поиск документации в Google. Как я могу это сделать?

Он находится в очень небольшой части большого Json-рендера, поэтому я бы предпочел либо добавить атрибут свойства, либо переопределить метод сериализации в classе.

В настоящее время это выглядит следующим образом:

"event_modal": { "href":"file.html", "type":"full" } 

И я надеюсь, что это будет выглядеть так: ( href и type без кавычек)

 "event_modal": { href:"file.html", type:"full" } 

Из classа:

 public class ModalOptions { public object href { get; set; } public object type { get; set; } } 

Это возможно, но я советую против этого, поскольку это создаст недействительный JSON, как Марсело и Марк указали в своих комментариях.

Используя библиотеку Json.NET, вы можете добиться этого следующим образом:

 [JsonObject(MemberSerialization.OptIn)] public class ModalOptions { [JsonProperty] public object href { get; set; } [JsonProperty] public object type { get; set; } } 

При сериализации объекта используйте тип JsonSerializer вместо статического типа JsonConvert .

Например:

 var options = new ModalOptions { href = "file.html", type = "full" }; var serializer = new JsonSerializer(); var stringWriter = new StringWriter(); using (var writer = new JsonTextWriter(stringWriter)) { writer.QuoteName = false; serializer.Serialize(writer, options); } var json = stringWriter.ToString(); 

Это даст:

 {href:"file.html",type:"full"} 

Если вы установите для свойства QuoteName экземпляра JsonTextWriter значение false, имена объектов больше не будут цитироваться.

  • Указание пользовательского формата DateTime при сериализации с помощью Json.Net
  • Как использовать JSON.NET для десериализации в вложенный / рекурсивный словарь и список?
  • Невозможно сериализовать словарь с помощью сложного ключа с помощью Json.net
  • Серийный объект Json.NET с корневым именем
  • Как получить json.net для сериализации членов classа, полученных из List ?
  • Как десериализовать объект JSON с недопустимым именем поля в нем
  • Исключение «Исключительная привязка к реляционной ссылке» с JSON.Net
  • Как преобразовать escape-строку JSON в объект JSON?
  • Как я могу получить список ключей от Json.NET?
  • как десериализовать JSON в IEnumerable с помощью Newtonsoft JSON.NET
  • Сериализация типа Json.Net с полиморфным дочерним объектом
  • Interesting Posts

    Как разработать алгоритм для расчета голограммы

    Найти и заменить внутри текстового файла командой Bash

    Загружает ли Tomcat один и тот же файл библиотеки в память дважды, если они находятся в двух веб-приложениях?

    Как выполнить: выполнить командную строку на C #, получить результаты STD OUT

    Такое же всплывающее окно на моих устройствах, есть ли вредоносное ПО?

    Создание библиотеки CMake, доступной для других пакетов CMake автоматически

    Функция проекта> Очистить в Eclipse

    Макрос для экспорта таблиц MS Word в листы Excel

    Различия между Html.TextboxFor и Html.EditorFor в MVC и Razor

    PL / SQL – используйте переменную «List» в разделе Where In

    Было бы полезно начать использовать instancetype вместо id?

    Как загрузить / ссылаться на файл как экземпляр файла из пути к classам

    Проблемы с SwingWorker и JProgressBar

    Нечетный вызов метода в java с помощью оператора точек для доступа к универсальному списку

    Общественная точка беспроводного доступа в частной сети

    Давайте будем гением компьютера.