如何将值添加到NewtonSoft JObject?

时间:2013-12-16 08:59:15

标签: c# json json.net

我在NewtonSoft JSON.Net中使用,我有一个JObject,我需要添加和删除项目并从我的代码中动态地形成它。 如果这是我的json:

{
"IgnoredInterests": [
    {
        "Id": 1,
        "Name": "test"
    },
    {
        "Id": 2,
        "Name": "test"
    }
]
}

我需要能够添加更多项目,甚至可以通过代码从中删除项目。 如何将其添加到JObject:

{
   "Id": 3,
   "Name": "test"
}

甚至删除:

{
   "Id": 2,
   "Name": "test"
}

感谢您的帮助......

1 个答案:

答案 0 :(得分:2)

    string json = @"{
                'IgnoredInterests': [
                    {
                        'Id': 1,
                        'Name': 'test'
                    },
                    {
                        'Id': 2,
                        'Name': 'test'
                    }
                ]
                }";
        JObject obj = JObject.Parse(json);

        string json_add = @"{
                   'Id': 3,
                   'Name': 'test'
                }";    

        JArray array = obj.GetValue("IgnoredInterests") as JArray;

        JObject obj_add = JObject.Parse(json_add);

        array.Add(obj_add);


        foreach (JObject item in array.Children())
        {
            if (item.GetValue("Id").ToString() == "2")
            {
                array.Remove(item);
                break;
            }
        }