Как сериализовать JObject без форматирования?


99

У меня есть JObject(я использую Json.Net), который я создал с помощью LINQ to JSON (также предоставленный той же библиотекой). Когда я вызываю ToString()метод в JObject, он выводит результаты в формате JSON.

Как мне установить для этого форматирование «нет»?

Ответы:


185

Вызовите ToString(Formatting.None)метод JObject .

В качестве альтернативы, если вы передадите объект методу JsonConvert.SerializeObject, он вернет JSON без форматирования.

Документация: напишите текст JSON с помощью JToken.ToString


4
Означает ли это, что передача JObjectв SerializeObject- особый случай? Вместо того, чтобы рассматривать JObjectкласс как обычный класс C # и пытаться сериализовать внутренние компоненты, вместо этого он делает что-то вроде jObject.ToString(...)?
Адриан Ратнапала

37

Вы также можете сделать следующее:

string json = myJObject.ToString(Newtonsoft.Json.Formatting.None);

41
Чем это отличается от предложения Джеймса выше? Джеймс не включил полную ссылку на пространство имен, а вы сделали - иначе код тот же, не так ли?
Jazimov

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.