首先,我会做的是将Members
属性更改为array
而不是object
。然后,我会做这样的事情:
//original json. Notice that I added '[ ]' to make it an array
var json = "{ 'Members': " +
"[ " +
"{'Example1': " +
"{ 'LastOnline': '2016-05-16T12:09:04.6459345Z', " +
"'TimeUntillEx': '2016-05-16T12:09:04.6459345Z', " +
"'Paied': true" +
"}, " +
"} " +
"] " +
"}";
//new member
var newMember = "{ 'Example2': " +
"{ 'LastOnline': '2016-12-16T12:09:04.6459345Z', " +
"'TimeUntillEx': '2016-12-16T12:09:04.6459345Z', " +
"'Paied': false" +
"}, " +
"}";
//parse the json
var obj = JObject.Parse(json);
//get members array
var array = obj.GetValue("Members") as JArray;
//parse the new member and add it to the array
var add = JObject.Parse(newMember);
array.Add(add);
//serialize the json
var output = JsonConvert.SerializeObject(obj, Formatting.Indented);
//print the results
Console.WriteLine(output);
对于这一点,你需要
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
我认为你需要的JSON反序列化到一个模型中,添加条目,然后序列化再次。 – FailedUnitTest
@@ FailedUnitTest上面的答案。如果您处理纯文本,另一个选项可能是为对象构建模板并执行简单的占位符替换来添加新对象。 –
http://www.newtonsoft.com/json/help/html/MergeJson.htm –