Как сериализовать 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