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

Java创建JSONArray时DEMO1未加载、出现空对象的问题排查

问题原因与解决方法

你的代码存在两个核心问题,导致DEMO1未出现且有空对象:

  • 重复修改同一个JSONObject实例:你先创建了seg对象并设置s_code=DEMO1,但后续没有新建对象,直接对同一个seg执行put操作覆盖成了DEMO2,所以最终加入数组的seg是已经被修改后的DEMO2数据,DEMO1的内容被完全覆盖。
  • 未给obj对象赋值:你创建了obj对象,但没有调用put方法添加任何属性,所以这个对象是空的,加入数组后就显示为{}。

修正后的代码如下:

Map<String, Object> payload = objectMapper.convertValue(request.getPayload(), Map.class);

// 为DEMO1创建独立的JSONObject
JSONObject seg1 = new JSONObject();
seg1.put("s_code", "DEMO1");
seg1.put("v_type", "backend");

// 为DEMO2创建独立的JSONObject
JSONObject seg2 = new JSONObject();
seg2.put("s_code", "DEMO2");
seg2.put("v_type", "frontend");

JSONArray segment = new JSONArray();
segment.add(seg1);
segment.add(seg2);

payload.put("segments", segment);

这样修改后,数组里会包含两个独立的JSONObject,分别对应DEMO1和DEMO2的内容,也不会出现空对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:42:21