Wie serialisiere ich ein JObject ohne Formatierung?

95

Ich habe ein JObject(ich verwende Json.Net), das ich mit LINQ to JSON erstellt habe (ebenfalls von derselben Bibliothek bereitgestellt). Wenn ich die ToString()Methode auf dem JObjectaufrufe, werden die Ergebnisse als formatierter JSON ausgegeben.

Wie setze ich die Formatierung dafür auf "keine"?

Hugo
quelle

Antworten:

177

Rufen Sie die ToString(Formatting.None)Methode von JObject auf .

Wenn Sie das Objekt alternativ an die JsonConvert.SerializeObject-Methode übergeben, wird der JSON ohne Formatierung zurückgegeben.

Dokumentation: Schreiben Sie JSON-Text mit JToken.ToString

James Newton-King
quelle
4
Bedeutet das, dass die Weitergabe von a JObjectan SerializeObjectein Sonderfall ist? Anstatt das JObjectals gewöhnliche C # -Klasse zu behandeln und zu versuchen, die Interna zu serialisieren, macht es jObject.ToString(...)stattdessen so etwas wie ?
Adrian Ratnapala
35

Sie können auch Folgendes tun:

string json = myJObject.ToString(Newtonsoft.Json.Formatting.None);
Simpu
quelle
40
Wie unterscheidet sich das von dem obigen Vorschlag von James? James hat nicht die vollständige Namespace-Referenz angegeben, und Sie haben es getan - ansonsten ist der Code der gleiche, nein?
Jazimov