You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向JSON文件的stop_points数组添加字典数据?操作遇阻求助

解决无法向JSON文件的stop_points数组添加对象的问题

我懂你现在的困扰——想用JSONLibrary的Add Object To JSON方法把新的字典对象塞进JSON里的stop_points数组,但试了半天没成功。其实问题出在方法的使用场景上,咱们换个思路就能搞定:

为什么原来的方法没用?

Add Object To JSON默认是给JSON的顶层结构添加新的键值对,而不是往指定的数组里追加元素。你要操作的是嵌套在根对象里的stop_points数组,得先定位到这个数组再动手。

正确的操作步骤

假设你用的是UiPath的JSONLibrary(或者类似的.NET JSON操作库),按下面的步骤来:

  1. 先把JSON文件加载成可操作的对象
    用Read JSON File方法读取你的原JSON文件,得到一个JSON对象(比如命名为rootJson),这样才能对里面的内容进行修改。

  2. 定位到stop_points数组
    用Get Value方法从rootJson里取出stop_points字段,这个字段是一个数组类型,把它存到变量stopPointsArray里。

  3. 准备好要添加的新字典对象
    把你提供的那个完整字典对象整理好,注意里面的sort字段——原数组里已经有sort=1和sort=2的元素,建议把新对象的sort改成3,避免排序混乱。

  4. 把新对象添加到数组里
    调用Add Item To Array方法,把准备好的新字典对象添加到stopPointsArray中。

  5. 把更新后的数组写回原JSON对象,再保存文件
    用Set Value方法把修改后的stopPointsArray放回rootJson的stop_points字段,最后用Write JSON File把更新后的rootJson保存回原文件。

用代码示例更直观(C#风格)

如果是用Newtonsoft.Json(很多JSONLibrary底层都是用它),可以这么写:

// 读取原JSON文件
JObject rootJson = JObject.Parse(File.ReadAllText("你的JSON文件路径.json"));

// 获取stop_points数组
JArray stopPoints = (JArray)rootJson["stop_points"];

// 构造要添加的新站点对象
JObject newStopPoint = JObject.Parse(@"
{
    ""fullname"":""Nguyễn Lê Minh"",
    ""phone"":""0932228888"",
    ""address"":""146 Pasteur, Bến Nghé, Quận 1, Hồ Chí Minh, Việt Nam"",
    ""region_id"":1442,
    ""district"":""Quận 1"",
    ""province"":""Hồ Chí Minh"",
    ""location"":[ 10.775334, 106.70081000000005 ],
    ""sort"":3, // 这里改成3,避免和已有元素的sort重复
    ""pick_items"":{
        ""number_of_items"":0,
        ""weight"":0,
        ""cubic_volume"":[ 0, 0, 0 ],
        ""items"":[ ]
    },
    ""drop_items"":{
        ""number_of_items"":0,
        ""weight"":0,
        ""cubic_volume"":[ 0, 0, 0 ],
        ""items"":[ ]
    },
    ""pick_papers"":[ { ""code"":"""", ""name"":"""", ""description"":"""", ""type"":"""" } ],
    ""drop_papers"":[ { ""code"":"""", ""name"":"""", ""description"":"""", ""type"":"""" } ],
    ""note"":""this is note 2"",
    ""paper"":""CTDK03"",
    ""cod"":0,
    ""address_detail"":""146/55 Pasteur""
}");

// 添加到数组
stopPoints.Add(newStopPoint);

// 保存回文件,带缩进格式更易读
File.WriteAllText("你的JSON文件路径.json", rootJson.ToString(Formatting.Indented));

最后验证

保存完成后打开你的JSON文件,检查stop_points数组里是不是已经多了这个新对象,同时确认sort字段的数值合理,这样就大功告成啦!

内容的提问来源于stack exchange,提问作者Cường Nguyễn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:24:40