Jak serializować JObject bez formatowania?


99

Mam JObject(używam Json.Net), który utworzyłem za pomocą LINQ to JSON (również dostarczany przez tę samą bibliotekę). Kiedy wywołuję ToString()metodę w JObject, wyprowadza wyniki jako sformatowany JSON.

Jak ustawić w tym celu formatowanie na „brak”?

Odpowiedzi:


185

Wywołaj ToString(Formatting.None)metodę JObject .

Alternatywnie, jeśli przekażesz obiekt do metody JsonConvert.SerializeObject, zwróci on kod JSON bez formatowania.

Dokumentacja: Napisz tekst JSON za pomocą JToken.ToString


4
Czy to oznacza, że ​​przekazanie JObjectdo SerializeObjectjest szczególnym przypadkiem? Zamiast traktować JObjectklasę C # jak zwykłą klasę i próbować serializować elementy wewnętrzne, jObject.ToString(...)zamiast tego robi coś takiego ?
Adrian Ratnapala,

37

Możesz także wykonać następujące czynności;

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

41
Czym różni się to od powyższej sugestii Jamesa? James nie podał pełnego odwołania do przestrzeni nazw, a ty tak - w przeciwnym razie kod jest taki sam, prawda?
Jazimov

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.