我有一个像这样的字符串:
{"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);
但我不知道如何获取 token 值,我尝试创建 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
。
关于Java读取Json对象中的Json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52642194/