java - Java读取Json对象中的Json数组
问题描述
我有一个这样的字符串:
{"api_authentication":{"api_response":{"token":"XXXXXXXXXXXXXXXXXXXXXXXXX","firstname":"John","disabled":false,"attempts":0,"id":123,"lastname":"Malkovitch","expire":false,"status":0}}}
我可以把这个字符串变成一个对象:
JSONObject jobj = new JSONObject(response);
但我没有找到如何获取令牌值,我尝试创建 JSONArrays 但我得到一个未找到的异常。
解决方案
你可以这样做;
final JSONObject api_authentication = jobj.getJSONObject("api_authentication");
final JSONObject api_response = api_authentication.getJSONObject("api_response");
System.out.println(api_response.getString("token"));
如果花括号中有JSON
任何值,{ ... }
则为jsonObject
. 如果值在 中[ ... ]
,则为JsonArray
。您还可以获取哪个是对象或数组,并从中获取相关字段。因此,所有 json 元素在您的问题中都带有大括号。把它当作JsonObject
.
推荐阅读
- flutter - 有什么方法可以强类型地使用 Navigator?
- python - groupby 一列以获取另一列中的最小值和对应值
- python - 如何使用 re.split() 分割两个字符的实例?
- javascript - 查找 svg 路径元素的中心
- powerbi - power bi 可以从没有历史数据的表中创建 scd 吗?
- java - IndexOutOfBoundsException 索引 0 大小 0 试图编辑填充数组列表中的元素
- python - 如何将变量从 FastAPI 传递给其他类
- python - 更改 PYTHONPATH 以便 mypy 可以找到本地模块
- apache-nifi - 使用 Apache Nifi 修改 csv
- c++ - 将我的动态链接库链接到我的 CPP 可执行文件