我在下面有一个类似JSON的示例,我试图获取一些值,例如值。
results.shipper.id
{
"results": [
{
"updated": false,
"notification": false,
"some_data": {
"id": 15989,
"pieces": 0,
},
"shipper": {
"updated": false,
"notification": false,
"id": 1587,
"parent": {
"updated": false
},
我试图通过这种方式获得价值:
String test = shipmentData.getJSONObject("shipper").getString("id");
但它总是抛出异常。我认为,该异常是由于我没有通过"结果"访问这些值而引起的。阵列。
如何轻松获取我需要的价值。
我尝试找到一些助手(Gson,fast-json等等)但是它似乎是一个非常复杂的使用(我想使用JSON树直接访问值" on-the -fly"或者访问像对象这样的值,它意味着.. Object.InnerObject.value)。
所以问题是我该怎么做呢?
感谢您的任何建议。
答案 0 :(得分:9)
需要遍历JSON才能访问id
:
JSONArray results = shipmentData.getJSONArray("results");
JSONObject first = results.getJSONObject(0);
JSONObject shipper = first.getJSONObject("shipper");
Integer id = shipper.getInt("id");
将int解析为字符串:
String id = String.valueOf(shipper.getInt("id"));