首页 > 解决方案 > 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 但我得到一个未找到的异常。

标签: javaarraysjson

解决方案


你可以这样做;

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.


推荐阅读