C# 使用C更新作业对象内的值#
我有下面的问题C# 使用C更新作业对象内的值#,c#,.net,json,json.net,C#,.net,Json,Json.net,我有下面的问题 { "mode": 1, "renderTo": 3, "filterFields": [ 206 ], "filters": [ { "_subscriptions": [], "RowState": 2, "fieldID": 206, "name": "Created Date", "value1":
{
"mode": 1,
"renderTo": 3,
"filterFields": [ 206 ],
"filters": [
{
"_subscriptions": [],
"RowState": 2,
"fieldID": 206,
"name": "Created Date",
"value1": "01/01/2019",
"value2": "01/03/2019",
"preEdit": null,
"postEdit": null
}
],
"priceCrossTabulation": 2,
"adHocFilterData": "",
"displayTemplate": "runTemplate",
"errors": [],
"visibleErrors": []
}
我想在JSON对象中修改这两个值
"value1": "01/01/2019",
"value2": "01/03/2019",
我可以使用下面的代码获得值
var data1 = JObject.Parse(modifiedJsonString);
var data2 = data1.GetValue("filters").Values("value1").First();
data2 = "06/02/2018";
但不确定如何在data1对象中更新它。有人能告诉我怎么做吗
谢谢您可以执行以下操作
JObject root = JObject.Parse(json);
JArray item = (JArray)root["filters"];
item[0]["value1"] = "02/02/2019"; // new value
item[0]["value2"] = "02/02/2019"; // new value
请注意,过滤器
是一个数组,需要通过索引访问
输出
{
"mode": 1,
"renderTo": 3,
"filterFields": [
206
],
"filters": [
{
"_subscriptions": [],
"RowState": 2,
"fieldID": 206,
"name": "Created Date",
"value1": "02/02/2019",
"value2": "02/02/2019",
"preEdit": null,
"postEdit": null
}
],
"priceCrossTabulation": 2,
"adHocFilterData": "",
"displayTemplate": "runTemplate",
"errors": [],
"visibleErrors": []
}
你可以做以下事情
JObject root = JObject.Parse(json);
JArray item = (JArray)root["filters"];
item[0]["value1"] = "02/02/2019"; // new value
item[0]["value2"] = "02/02/2019"; // new value
请注意,过滤器
是一个数组,需要通过索引访问
输出
{
"mode": 1,
"renderTo": 3,
"filterFields": [
206
],
"filters": [
{
"_subscriptions": [],
"RowState": 2,
"fieldID": 206,
"name": "Created Date",
"value1": "02/02/2019",
"value2": "02/02/2019",
"preEdit": null,
"postEdit": null
}
],
"priceCrossTabulation": 2,
"adHocFilterData": "",
"displayTemplate": "runTemplate",
"errors": [],
"visibleErrors": []
}
太好了太谢谢你了太好了太谢谢你了。