【问题标题】:JSON.NET Add sub property to propertJSON.NET 将子属性添加到属性
【发布时间】:2018-06-15 01:00:07
【问题描述】:

我正在尝试修改一个 JSON 字符串,我想在其中将子属性添加到属性中。

原始 JSON:

{
    "main_table": [{
        "id_no": 1,
        "alt_id": 2
    }]
}

所需的 JSON:

   {
        "main_table": [{
            "id_no": 1,
            "alt_id": {
                "alt_id": 2,
                "sub_id2": 30
            }
        }]
    }

这就是我试图实现这一目标的方式 -

方法一:

var jTable = (JObject)jsonO["main_table"].FirstOrDefault();                
if (jTable != null)
{
  var jProp = jTable.Property(colToModify);
  jTable.Remove();
  jTable.Add(new JProperty("alt_id", new JProperty[] 
  { new JProperty("alt_id", "2"), new JProperty("sub_id2", "30")}
  ));
}

我收到错误“无法将 Newtonsoft.Json.Linq.JProperty 添加到 Newtonsoft.Json.Linq.JArray。”。

【问题讨论】:

    标签: c# json parsing json.net


    【解决方案1】:

    您需要将JObject 添加到数组中,而不是JProperty。尝试以下方法:

    jTable.Add(
        new JObject(
            new JProperty("alt_id", new JObject(
                new JProperty("alt_id", "2"),
                new JProperty("sub_id2", "30")
            )
        )
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多