新しいノードを既存のJSON
JObject
に追加しようとしていますが、追加すると正しくフォーマットされません。それはノード全体を引用符で囲み、\が置かれます。JSON既存のJObjectにノードを追加
背景: は、私は後ろにノードを追加し、いくつかのロジックをやって、JSON
ファイルをロードしています私はこのようにそれを行うことができます考え出し:
mainJson.Add("NewNode", JsonConvert.SerializeObject(MyObject));
File.WriteAllText("myfile.json", mainJson.ToString());
問題は、これが結果であるということです
string json = JsonConvert.SerializeObject(MyObject);
File.WriteAllText("myfile2.json" json);
:
{
"JSONFile": [
{
"More": "Nodes",
"InThe": "File"
}
],
"Customers": "{\"FirstName\":\"Mike\",\"LastName\":\"Smith\"},{\"FirstName\":\"Jane\",\"LastName\":\"Doe\"}",
}
は、私がこれを行う場合、私のJsonConvert.SerializeObject(MyObjectに)が動作していることを知っています
結果は次のとおりです。
[
{
"FirstName": "Mike",
"LastName": "Smith"
},
{
"FirstName": "Jane",
"LastName": "Doe"
}
]
何が欠けていますか?
編集: @Swagata Prateekのコメント:型 'System.ArgumentExceptionの' の
mainJson.Add("Customers",JObject.FromObject(MyObject));
未処理の例外がNewtonsoft.Json.dll
で発生しました追加情報:Arrayにシリアライズされたオブジェクト。 JObjectインスタンスが必要です。
私はMyObjectには、それは違い
のようになります。 。 :) –