2009-02-20 14 views
45

Mam JObject (używam Json.Net), który skonstruowałem z LINQ do JSON (również dostarczone przez tę samą bibliotekę). Kiedy zadzwonię do metody ToString() na JObject, wyprowadza wyniki w formacie JSON.Jak serializować JObject bez formatowania?

Jak ustawić formatowanie na "none" dla tego?

Odpowiedz

90

Wywołanie metody JObject za pomocą metody ToString(Formatting.None).

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

Dokumentacja: Write JSON text with JToken.ToString

+3

Czy to znaczy, że przechodząc do '' JObject' SerializeObject' jest szczególnym przypadkiem? Zamiast traktować 'JObject' jako zwykłą klasę C# i próbować serializować obiekty wewnętrzne, zamiast tego robi się coś takiego jak' jObject.ToString (...) '? –

24

Można również wykonać następujące czynności;

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

Jak to wszystko różni się od sugestii Jamesa powyżej? James nie podał pełnego odniesienia do przestrzeni nazw i zrobiłeś - w przeciwnym razie kod jest taki sam, nie? – Jazimov