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

如何为JSON对象列表设置父节点?现有Java代码失效求助

如何为JSON对象列表添加父节点?

首先得提一句:你期望的目标JSON结构里有个小语法问题——"results":{[ ... ]}是不对的,数组应该直接作为results的值,正确的结构应该是:

{"results": [
    {"date":"2013-11-19", "time":"10:30"},
    {"date":"2013-11-19", "time":"12:20"}
]}

回到你的代码,逻辑本身是没问题的,但可能是细节没处理好导致没生效。我猜你用的是org.json库(从代码里的JSONObject和JSONArray类来看),下面给你完整的可运行解决方案:

步骤1:确保依赖正确

如果是Maven项目,先在pom.xml里引入org.json的依赖:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20240303</version> <!-- 用最新稳定版本即可 -->
</dependency>

步骤2:完整代码示例

import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;

public class JsonParentNodeExample {
    public static void main(String[] args) {
        // 1. 构建原始的JSON对象列表
        List<JSONObject> itemList = new ArrayList<>();
        
        // 添加第一个时间对象
        JSONObject timeItem1 = new JSONObject();
        timeItem1.put("date", "2013-11-19");
        timeItem1.put("time", "10:30");
        itemList.add(timeItem1);
        
        // 添加第二个时间对象
        JSONObject timeItem2 = new JSONObject();
        timeItem2.put("date", "2013-11-19");
        timeItem2.put("time", "12:20");
        itemList.add(timeItem2);
        
        // 2. 创建包含父节点的顶层JSON对象
        JSONObject parentJsonObject = new JSONObject();
        parentJsonObject.put("results", new JSONArray(itemList));
        
        // 3. 输出最终的JSON字符串(带缩进更易读)
        System.out.println(parentJsonObject.toString(4));
    }
}

运行结果

这段代码运行后会输出格式化后的正确JSON:

{
    "results": [
        {
            "date": "2013-11-19",
            "time": "10:30"
        },
        {
            "date": "2013-11-19",
            "time": "12:20"
        }
    ]
}

可能的问题排查

如果你的代码还是没生效,大概率是这几个原因:

  • list里的元素不是JSONObject:如果你的list装的是普通Java对象(比如自定义的Time类),需要先把每个对象转成JSONObject,不能直接丢进JSONArray。
  • 没正确输出结果:你是不是没调用parentJsonObject.toString()?直接打印对象可能会得到内存地址,而不是JSON字符串。
  • 依赖版本问题:旧版本的org.json库可能有兼容性问题,建议升级到最新稳定版。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:06:14