我正在寻找一种从JSON文件中提取数据的优雅方法,如果数据一致,这将很容易编码,但是我想考虑它的可能性。
例如
JSON示例1:
...
"years": [{
"id": 100531911,
"year": 2012,
"styles": [{
"id": 101395591,
"name": "LT 2dr Convertible w/2LT (3.6L 6cyl 6M)",
"submodel": {
"body": "Convertible",
"modelName": "Camaro Convertible",
"niceName": "convertible"
},
"trim": "LT"
}]
}],
...
JSON示例2:
...
"years": [{
"year": 2012,
"styles": [{
"id": 101395591,
"name": "LT 2dr Convertible w/2LT (3.6L 6cyl 6M)",
"submodel": {
"body": "Convertible",
},
"trim": "LT"
}]
}],
...
正如您所看到的,第二个JSON示例是缺少数据,所以为了防止它,我做了以下操作,这有点乱:
例如,如果我想获得“niceName”元素。为了防止nullpointerexceptions,我必须运行一系列if语句:
if (jsonObj.has("years")) {
if (jsonObj.getJSONObject("years").has("subModel")) {
if(jsonObj.getJSONObject("years").getJSONOject("subModel").has("niceName")) {
//do stuff
}
}
}
有没有更简洁的方法来解决这个问题?