Я пытаюсь добавить новый узел в существующий JSON
JObject
, но когда я его добавлю, он не форматируется правильно. Он добавляет кавычки по всему узлу и \ вводится на место.JSON добавить узел в существующий JObject
фон: Я загрузка JSON
файла, делая некоторую логику, то добавление узла обратно в Фигурном я могу сделать это так:.
mainJson.Add("NewNode", JsonConvert.SerializeObject(MyObject));
File.WriteAllText("myfile.json", mainJson.ToString());
Проблема заключается в том, что это результат:
{
"JSONFile": [
{
"More": "Nodes",
"InThe": "File"
}
],
"Customers": "{\"FirstName\":\"Mike\",\"LastName\":\"Smith\"},{\"FirstName\":\"Jane\",\"LastName\":\"Doe\"}",
}
Я знаю, что мой JsonConvert.SerializeObject (MyObject) работает, если я делаю это:
string json = JsonConvert.SerializeObject(MyObject);
File.WriteAllText("myfile2.json" json);
Результат таков:
[
{
"FirstName": "Mike",
"LastName": "Smith"
},
{
"FirstName": "Jane",
"LastName": "Doe"
}
]
Что мне не хватает?
Редактировать: Следующее @Swagata Prateek комментарий;
mainJson.Add("Customers",JObject.FromObject(MyObject));
Необработанное исключение типа 'System.ArgumentException' произошло в Newtonsoft.Json.dll
Дополнительная информация: объект сериализуется в массив. Ожидается экземпляр JObject.
Я хотел бы отметить, что MyObject актуально ObservableCollection
, если это делает разницу
При вызове 'JsonConvert.SerializeObject (MyObject)', 'MyObject' здесь сериализации в виде строки, таким образом,' NewNode' здесь представляет себя в виде строки цитируемого , :) –