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

从PHP返回的JSON提取数据遇JSONException问题求助

解决JSON数据提取的JSONException问题

嘿,我看到你在提取PHP返回的JSON数据时遇到了JSONException,问题根源在于你没注意到JSON的嵌套结构!

先看你拿到的JSON内容:

{"success":1,"message":"Data of the Person", "0":{"Name":"Marco","Surname":"Rossi","Age":"32"}}

你需要的Name、Surname、Age字段并不是直接在顶层JSON对象里,而是嵌套在键为"0"的子JSON对象中。你直接从顶层jObj调用getString("Name"),自然找不到对应的键,所以抛出了异常。

修正后的提取步骤

  1. 先从顶层对象获取success字段(这部分你原来的代码是对的);
  2. 提取键为"0"的子JSON对象;
  3. 从这个子对象里获取你需要的用户信息字段。

修正后的代码片段

// 假设jObj是已解析完成的顶层JSONObject
success = jObj.getString("success");
// 先获取嵌套的用户对象
JSONObject userData = jObj.getJSONObject("0");
// 从子对象中提取字段
UserNm = userData.getString("Name");
UserSrm = userData.getString("Surname");
UserAge = userData.getString("Age");

额外注意事项

  • 注意JSON里的键"0"是字符串类型,所以必须用getJSONObject("0"),不能用整数索引的getJSONObject(0);
  • 如果后续PHP返回的是多个用户的数组(比如"data": [{"Name": "...", ...}, ...]),那你需要改用JSONArray来处理,但当前场景下单个嵌套对象用JSONObject就足够了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:37:43