如何使用json.net将json数组添加到JObject的属性中

13

我在尝试如何向现有的JObject中添加一个JSON对象数组,但是遇到了困难。假设我已经有了一个只包含"Modified"属性的JObject,并且我想要添加另一个属性"IntersectGroups",它包含一个JSON对象数组,我应该怎么做?我有一个JObject[],当我序列化它时,它的格式正好符合我的要求,但我正在寻找像这样的东西:mainJObject.Add("IntersectGroups", myJObjectArray)

下面是我最终想要序列化的JSON示例:

...
"Modified": "2012-11-26T10:21:04.693",
"IntersectGroups": [
  {
    "Id": 1004,
    "UserId": 20003,
    "GroupId": 1001,
    "Admin": false,
    "Expires": "1900-01-01T00:00:00"
  },
  {
    "Id": 1003,
    "UserId": 20003,
    "GroupId": 1000,
    "Admin": false,
    "Expires": "1900-01-01T00:00:00"
  }
]
...

更新

我的最终解决方案是使用 JArray 对象。JArray 是一个 JContainer,它是一个 JToken,您可以将其添加到 JObject 中。我的问题在于我试图使用一个无效的 JToken:JObject[]。


1
我认为你所需要做的就是将对象序列化为字符串,然后连接它们并反序列化为支持它们的类。 - ericosg
我认为这可能可行,我会试一试,谢谢你的想法。 - bruchowski
2个回答

19

我的最终解决方案是使用 JArray 对象。一个 JArray 是一个 JContainer,它是一个 JToken,你可以将它添加到一个 JObject 中。我的问题在于我试图使用一个不是有效的 JTokenJObject[]


0

1
似乎这是唯一的方法...我认为有点愚蠢,没有其他方法可以实现我想要的,除了先创建一个具有兼容数据类型的对象,不过还是感谢你找到了这个方法。 - bruchowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接