相关疑难解决方法(0)

如何将JToken添加到JObject?

我正在尝试使用JSON.Net将JSON对象从某些文本添加到现有的JSON文件中.例如,如果我有如下的JSON数据:

  {
  "food": {
    "fruit": {
      "apple": {
        "colour": "red",
        "size": "small"
      },
      "orange": {
        "colour": "orange",
        "size": "large"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我一直试图这样做:

var foodJsonObj = JObject.Parse(jsonText);
var bananaJson = JObject.Parse(@"{ ""banana"" : { ""colour"": ""yellow"", ""size"": ""medium""}}");
var bananaToken = bananaJson as JToken;
foodJsonObj["food"]["fruit"]["orange"].AddAfterSelf(bananaToken);
Run Code Online (Sandbox Code Playgroud)

但是这给出了错误: "Newtonsoft.Json.Linq.JProperty cannot have multiple values."

我实际上尝试了几种不同的方法,但似乎无法到达任何地方.在我的例子中,我真正想要做的是将新项添加到"fruit".如果有更好的方法或更简单的库可供使用,请告诉我.

c# json.net

74
推荐指数
3
解决办法
9万
查看次数

标签 统计

c# ×1

json.net ×1