c# - 将名称值对添加到 JArray 中的 JObject

标签 c# json json.net

{
    "x": null,
    "y": null,
    "z": null,
    "things": [
        {
            "x": 1,
            "y": 1
        },
        {
            "x": 1,
            "y": 6
        }
    ]
}

我想将另一对插入 things[0] 以便它读取

"things": [
{
    "x": 1,
    "y": 1,
    "z": 9000
},

我可以像这样轻松修改值:

JObject myobject = JObject.Parse(responseString);
JArray myarray = (JArray)myobject["things"];

myarray[0]["x"] = 9000;

我不知道如何添加/追加到这个对象。看起来 myarray[0] 是一个 JToken,即使当我执行 GetType() 时它是一个对象..

最佳答案

将数组项转换为 JObject,然后使用 Add 方法添加新的 JProperty。像这样:

JObject myobject = JObject.Parse(responseString);
JArray myarray = (JArray)myobject["things"];

JObject item = (JObject)myarray[0];
item.Add(new JProperty("z", 9000));

Console.WriteLine(myobject.ToString());

fiddle :https://dotnetfiddle.net/5Cb5lu

关于c# - 将名称值对添加到 JArray 中的 JObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37630795/

相关文章:

c# - EF : manual (non autogenerated) keys require ad hoc handling of new entities

c# - 如何使用 C# 查找所有窗口?

ios - 如何使用 php web 服务成功登录并移动到另一个 View

json - 任何用于在 Classic ASP 中解析 JSON 的好库?

json - Scala HTTP4s 打印整个 HTTP 错误响应

c# - C# 类如何处理 JSON 中的美元符号?

c# - 使用 HttpPostedFileBase 的强类型模型无法搭建 View

c# - 如何以 Func 类型的表达式作为参数调用方法

c# - 将 Newtonsoft.Json 与嵌套自定义类一起使用

c# - 使用路径和值更新 JSON 对象