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

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


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);

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.