2009-02-20 5 views
45

Ich habe eine JObject (ich benutze Json.Net), die ich mit LINQ zu JSON (auch von der gleichen Bibliothek zur Verfügung gestellt) erstellt. Wenn ich die Methode ToString() auf der JObject aufrufen, gibt es die Ergebnisse als formatierte JSON aus.Wie man ein JObject ohne die Formatierung serialisiert?

Wie stelle ich die Formatierung dafür auf "keine" ein?

Antwort

90

Rufen Sie JObjects ToString(Formatting.None) Methode.

Wenn Sie das Objekt an die JsonConvert.SerializeObject-Methode übergeben, gibt es alternativ den JSON ohne Formatierung zurück.

Dokumentation: Write JSON text with JToken.ToString

+3

Heißt das, dass ein 'JObject' vorbei zu' SerializeObject' ist ein Sonderfall? Anstatt das 'JObject' als gewöhnliche C# -Klasse zu behandeln und zu versuchen, die Interna zu serialisieren, macht es stattdessen so etwas wie' jObject.ToString (...) '? –

24

Sie können auch Folgendes tun;

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

Wie unterscheidet sich das vom obigen Vorschlag von James? James hat nicht die vollständige Namespace-Referenz angegeben und du hast es getan - ansonsten ist der Code der gleiche, nein? – Jazimov