C# 如何向jobject中的空集合添加json属性和值?

C# 如何向jobject中的空集合添加json属性和值?,c#,json,jobjectformatter,C#,Json,Jobjectformatter,我有一辆Jobject汽车 Car具有null集合“车轮” 如何将属性和值添加到集合wheels 代码: { "Car": { "engine": 2, "wheels": [] } } { "Car": { "engine": 2, "wheels": [ { "frontWheel"

我有一辆
Jobject
汽车

Car
具有
null
集合“车轮”

如何将属性和值添加到集合
wheels

代码:

{
  "Car": {
    "engine": 2,
    "wheels": []
  }
}
{
  "Car": {
    "engine": 2,
    "wheels": [
      {
        "frontWheel": 2,
        "rearWheel": 2
      }
    ]
  }
}
我的期望:

{
  "Car": {
    "engine": 2,
    "wheels": []
  }
}
{
  "Car": {
    "engine": 2,
    "wheels": [
      {
        "frontWheel": 2,
        "rearWheel": 2
      }
    ]
  }
}

如何将
frontwheel
retarwheel
添加到
JObject

要使用
Newtonsoft.Json
创建所需的输出,您需要创建
JArray
的实例,并用
JObject
类型的实例填充它

var result = new JObject(
    new JProperty("engine", 2),
    new JProperty("wheels", 
        new JArray
        {
            new JObject(
                new JProperty("frontWheel", 2),
                new JProperty("rearWheel", 2))
        }));
这将产生以下输出:

{
  "engine": 2,
  "wheels": [
    {
      "frontWheel": 2,
      "rearWheel": 2
    }
  ]
}

或者,您可以使用Newtonsoft.Json提供的序列化机制。数组真的适合使用吗?是的,“轮子”是一个集合为什么不使用序列化程序?序列化和反序列化将影响性能。我在看类似于jobject.selectToken(“car.wheels”).add(“frontWheel”)的东西