C# 在c中从Json中删除属性

C# 在c中从Json中删除属性,c#,.net,json,C#,.net,Json,我有一个Json字符串,我想删除一些属性 这是我的字符串,我想删除数据的值: "dev1": { "serial": 123, "channels": { "1": { "humidity": { "parameters": {}, "data": [ [ **-3.0, -4.0** ]

我有一个Json字符串,我想删除一些属性

这是我的字符串,我想删除数据的值:

"dev1": {
    "serial": 123,
    "channels": {
      "1": {
        "humidity": {
          "parameters": {},
          "data": [
            [
              **-3.0,
              -4.0**
            ]
          ]
        },
        "temprature": {
          "parameters": {},
          "data": [
            [
              **-3.0,
              -4.0**
            ]
          ],
          "weHadAlarmed": false
        },
        "channelName": "CH1"
      },
....

我不知道您的json的其余部分会是什么样子,但是使用Newtonsoft.json.net,类似这样的东西就可以了

    var json = "{ \"serial\": 123, \"channels\": { \"1\": { \"humidity\": { \"parameters\": {}, \"data\": [ [ -3.0, -4.0 ] ] }, \"temprature\": { \"parameters\": {}, \"data\": [ [ -3.0, -4.0 ] ], \"weHadAlarmed\": false }, \"channelName\": \"CH1\" } } }";

    var job = JObject.Parse(json);
    job.SelectToken("channels").SelectToken("1").Values().ToList().ForEach(chan =>
    {
        if(chan.GetType() == typeof(JObject) && chan["data"] != null)
        {
            // empty array
            chan["data"] = new JArray();
            // or set it to null
            //chan["data"] = null;
        }               
    });

    string newJsonStringWouldBe = Newtonsoft.Json.JsonConvert.SerializeObject(job);