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

Java中更新JSON数组内字段后如何保留完整原始JSON结构

问题原因

你的链式调用最终是在places数组的第一个子对象上执行toString(),所以返回结果只有这个子对象的内容。
org.json库的JSONObject、JSONArray都属于引用类型,你修改子对象的字段时,顶层的jobject实例内容已经同步更新,不需要基于子对象生成返回值,直接序列化顶层jobject即可得到完整的JSON结构。

调整后代码

public String modifyJson() throws Exception{
    String jsonString =  PiplineJson.payload(PiplineJson.filePath());
    System.out.println(jsonString);
    JSONObject jobject = new JSONObject(jsonString);
    // 仅执行字段更新操作,不需要在此处调用toString
    jobject.getJSONArray("places")
           .getJSONObject(0)
           .put("eventName", randomString());
    // 序列化整个顶层JSON对象得到完整结构
    String result = jobject.toString();
    System.out.println(result);
    return result; 
}

内容的提问来源于stack exchange,提问作者peter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:54:01