2009-02-20 9 views
45

私はLINQを使ってJSONに構築したJObject(私はJson.Netを使用しています)を持っています(同じライブラリでも提供されています)。私がJObjectToString()メソッドを呼び出すと、その結果がフォーマットされたJSONとして出力されます。フォーマットを行わずにJObjectをシリアル化する方法は?

このためにフォーマットを「なし」に設定するにはどうすればよいですか?

答えて

90

JObjectのToString(Formatting.None)メソッドを呼び出します。

また、オブジェクトをJsonConvert.SerializeObjectメソッドに渡すと、フォーマットせずにJSONが返されます。

ドキュメント:Write JSON text with JToken.ToString

+3

を使用することができ、特殊なケースですか? 'JObject'を普通のC#クラスとして扱い、内部をシリアライズしようとするのではなく、代わりに' jObject.ToString(...) 'のようなことをしますか? –

24

あなたはまた、次の操作を行うことができます。

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

これはJamesの提案とどのように違うのですか?ジェームズは完全な名前空間の参照を含んでいませんでした。そうでなければコードは同じですか、いいえ? – Jazimov

0

あなたはそれがSerializeObject` `に` JObject`を渡すことを意味していJsonConvert.SerializeObject()

JsonConvert.SerializeObject(myObject) // myObject is returned by JObject.Parse() method 

JsonConvert.SerializeObject()

JObject.Parse()

関連する問題