Comment sérialiser un JObject sans le formatage?

97

J'ai un JObject(j'utilise Json.Net) que j'ai construit avec LINQ to JSON (également fourni par la même bibliothèque). Lorsque j'appelle la ToString()méthode sur le JObject, elle génère les résultats sous forme de JSON formaté.

Comment définir le formatage sur "aucun" pour cela?

Hugo
la source

Réponses:

181

Appelez la ToString(Formatting.None)méthode de JObject .

Sinon, si vous transmettez l'objet à la méthode JsonConvert.SerializeObject, il renverra le JSON sans mise en forme.

Documentation: écrire du texte JSON avec JToken.ToString

James Newton-King
la source
4
Cela signifie-t-il que passer un JObjectà SerializeObjectest un cas particulier? Au lieu de traiter le JObjectcomme une classe C # ordinaire et d'essayer de sérialiser les composants internes, il fait quelque chose comme à la jObject.ToString(...)place?
Adrian Ratnapala
35

Vous pouvez également faire ce qui suit;

string json = myJObject.ToString(Newtonsoft.Json.Formatting.None);
Simpu
la source
40
En quoi est-ce différent de la suggestion de James ci-dessus? James n'a pas inclus la référence complète de l'espace de noms et vous l'avez fait - sinon le code est le même, non?
Jazimov