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

使用JSON Simple库获取JSON对象中UserName值的参数问题

问题解决思路

首先你给出的JSON是单个JSON对象(不是数组格式),核心要先明确data_obj的实际类型,再对应处理:

1. 标准org.json库直接解析场景

如果是从JSON字符串直接解析,根本不需要data_obj这一步,直接转成JSONObject即可:

String jsonStr = "{\"UserName\":\"myUsername\",\"Address\":\"myAddress\",\"Password\":\"myPassword\"}";
JSONObject obj = new JSONObject(jsonStr);
System.out.println(obj.get("UserName")); // 输出myUsername

2. data_obj是封装后的对象场景

  • 如果data_obj是Optional<JSONObject>类型(常见于框架返回值),直接调用无参的get()获取内部对象:
    JSONObject obj = (JSONObject) data_obj.get(); // 无参,拿Optional里的JSONObject
    System.out.println(obj.get("UserName"));
    
  • 你之前用data_obj.get(0)报空指针,本质是错误把单个JSONObject当成JSONArray处理——你的JSON不是数组,不存在索引0的元素,这就是空指针的直接原因。

3. 空指针排查方向

空指针大概率是以下两种情况:

  • data_obj本身就是null,先检查它的来源,确认JSON解析过程有没有出错
  • 错误将单个JSON对象当作数组处理,硬用索引去获取不存在的元素

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 12:10:39