在json对象中交换节点

问题描述 投票:0回答:1

我有json对象,其中包含以下字符串:

{  
   "id":"7081236211",
   "name":"TURYSTYCZNY PLECAK WISPORT REINDEER 75L OLIVE",
   "category":{  
      "id":"147827"
   },
   "parameters":[  
      {  
         "id":"11323",
         "valuesIds":[  
            "11323_1"
         ],
         "values":[  

         ],
         "rangeValue":null
      },
      {  
         "id":"13949",
         "valuesIds":[  
            "13949_225446"
         ],
         "values":[  

         ],
         "rangeValue":null
      }
   ]
}

我想在这个动态生成的json字符串上更改“parameter”节点,并且参数中的节点数不同:

\"parameters\": [
    {
      \"id\": \"11345\",
      \"valuesIds\": [],
      \"values\": [
        \"23424\",
        \"43656\"
       ],
      \"rangeValue\": null
    }]

那我该怎么做呢?

c# json
1个回答
0
投票

你可以使用Newtonsoft.Json库。

var obj = JsonConvert.DeserializeObject<Rootobject>(input);
var paramToAdd = JsonConvert.DeserializeObject<Parameter>(paramToAddJson);
obj.parameters.Add(paramToAdd);

var output = JsonConvert.SerializeObject(obj);
output.Dump();

public class Rootobject
{
    public string id { get; set; }
    public string name { get; set; }
    public Category category { get; set; }
    public List<Parameter> parameters { get; set; }
}

public class Category
{
    public string id { get; set; }
}

public class Parameter
{
    public string id { get; set; }
    public string[] valuesIds { get; set; }
    public string[] values { get; set; }
    public object rangeValue { get; set; }
}

Full Example

© www.soinside.com 2019 - 2024. All rights reserved.