我有一个类似下面示例的 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
},
我试图通过这种方式获得值(value):
String test = shipmentData.getJSONObject("shipper").getString("id");
但它总是抛出异常。我认为,该异常是由于我没有通过“结果”数组访问值造成的。
我怎样才能轻松获得我需要的值(value)。
我试着找到一些助手(Gson、fast-json 等),但使用起来似乎相当复杂(我想使用 JSON 树来“即时”直接访问值或访问对象之类的值,这意味着.. Object.InnerObject.value )。
所以问题是我怎样才能正确地做到这一点?
感谢您的任何建议。
最佳答案
需要遍历JSON才能访问id
:
JSONArray results = shipmentData.getJSONArray("results");
JSONObject first = results.getJSONObject(0);
JSONObject shipper = first.getJSONObject("shipper");
Integer id = shipper.getInt("id");
将整数解析为字符串:
String id = String.valueOf(shipper.getInt("id"));
关于Java - 如何获取 JSON 数组中的对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22386344/