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”?

Hugo
źródło

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

James Newton-King
źródło
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);
Simpu
źródło
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