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

如何使用GSON从JSON中提取数组指定位置的对象字段值

原因说明

Gson原生JsonObject.get()方法仅支持传入当前对象层级的直接键名做匹配,不支持任何路径表达式语法。你尝试的带.、[]、/的写法属于JSONPath语法,传入后会被当成完整键名在根节点下查找,根节点不存在这类名称的键,因此无法获取目标值。

正确实现方式

需要分层解析JSON结构,注意JSON数组下标从0开始计数,你要的第二位员工(id=2)对应数组索引为1,参考代码如下:

JsonObject json = new Gson().fromJson(responseText, JsonObject.class);
// 1. 获取根节点下的data数组
JsonArray dataList = json.getAsJsonArray("data");
// 2. 取索引为1的元素,也就是第二位员工对象
JsonObject targetEmp = dataList.get(1).getAsJsonObject();
// 3. 获取employee_name字段的字符串值
String empName = targetEmp.get("employee_name").getAsString();
System.out.println(empName); // 输出结果:Garrett Winters
注意事项
  • 不要直接用索引2取值,索引2对应的是第三位员工Ashton Cox
  • 从Json结构中取到元素后,需要先转换为对应的类型(数组转JsonArray、对象转JsonObject、基础值转对应字符串/数值类型),直接调用get方法会抛出类型不匹配异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:42:22