Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C更新作业对象内的值#_C#_.net_Json_Json.net - Fatal编程技术网

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": []
}

太好了太谢谢你了太好了太谢谢你了。