C# 使用Newtonsoft.JSON添加JSON属性
我有一些JSON看起来像这样:C# 使用Newtonsoft.JSON添加JSON属性,c#,json,C#,Json,我有一些JSON看起来像这样: { "staticInfo": { "browser": "Chrome", "browserVersion": "54.0", "packageNumber": "XXX", "user": "user" } , "request": { "server": "E", "steps": { "Step1": {
{
"staticInfo": {
"browser": "Chrome",
"browserVersion": "54.0",
"packageNumber": "XXX",
"user": "user"
}
,
"request": {
"server": "E",
"steps": {
"Step1": {
"start": "11/30/2016 20:11:26.494",
"end": "11/30/2016 20:11:26.510"
}
,
"Step2": {
"start": 1480536689237,
"end": 1480536689357
}
,
"Step3": {
"start": "Wed, 11/30/2016 20:12:25.229 GMT",
"end": "Wed, 11/30/2016 20:12:25.246 GMT"
}
}
,
"url": "SomeURL",
"trackingId": "99809eb5-c36b-4199-83d6-847c7b0489d1:0"
}
}
我正在尝试添加Step4,因此最终的JSON如下所示
{
"staticInfo": {
"browser": "Chrome",
"browserVersion": "54.0",
"packageNumber": "XXX",
"user": "user"
}
,
"request": {
"server": "E",
"steps": {
"Step1": {
"start": "11/30/2016 20:11:26.494",
"end": "11/30/2016 20:11:26.510"
}
,
"Step2": {
"start": 1480536689237,
"end": 1480536689357
}
,
"Step3": {
"start": "Wed, 11/30/2016 20:12:25.229 GMT",
"end": "Wed, 11/30/2016 20:12:25.246 GMT"
}
,
"Step4": {
"start": "SomeData",
"end": "SomeData"
}
}
,
"url": "SomeURL",
"trackingId": "99809eb5-c36b-4199-83d6-847c7b0489d1:0"
}
}
因此,我基本上是在尝试添加一个
步骤4
。我正试图使用Newtonsoft.Json
来实现这一点。我知道我可以使用基本的字符串解析来完成,但为了保持一致性,我想使用Newtonsoft.Json
类 由于JObject
还实现了IDictionary
,因此您可以执行以下操作:
var jObj = JObject.Parse(json);
jObj["request"]["steps"]["Step4"] = JToken.FromObject(new { start = "some", end = "somedata" });
var newjson = jObj.ToString( Newtonsoft.Json.Formatting.Indented);
或者使用动态
关键字
dynamic jObj = JObject.Parse(json);
jObj.request.steps.Step4 = JToken.FromObject(new { start = "some", end = "somedata" });
var newjson = jObj.ToString( Newtonsoft.Json.Formatting.Indented);
请阅读。关键短语:“搜索、研究”和“解释……任何阻碍您自己解决问题的困难”。很好的观察,坦率地说,我不知道如何实现
IDictionary