Ниже приведен фрагмент кода для утилиты, которую я использовал для извлечения данных.
Ниже приведен пример JSON, в котором мне нужно получить значение Other / Vehicle / Properties, но я получаю сообщение об ошибке.
Подскажите, пожалуйста, что мне нужно добавить в утилиту?
Мне нужно получить значение Other / Vehicle / Properties.
Пожалуйста, предложите, что мне нужно изменить в Утилите, чтобы вложенное свойство также выбиралось из JSON.
public class TestUtil {
public static JSONObject responsejson;
public static String getValueByJPath(JSONObject responsejson, String jpath){
Object obj = responsejson;
for(String s : jpath.split("/"))
if(!s.isEmpty())
if(!(s.contains("[") || s.contains("]")))
obj = ((JSONObject) obj).get(s);
else if(s.contains("[") || s.contains("]"))
obj = ((JSONArray) ((JSONObject) obj).get(s.split("\\[")[0])).get(Integer.parseInt(s.split("\\[")[1].replace("]", "")));
return obj.toString();
}
}
JSON Формат:
{
"coverageEndDate": "02/28/2019",
"coverageStartDate": "03/01/2018",
"coverageType": "Personal",
"error": {
"code": 0,
"message": ""
},
"firstName": "Ronnie",
"insuredItems": {
"other": [{
"coverageEndDate": "02/28/2019",
"coverageStartDate": "03/01/2018",
"description": "Hunter Marin Passage 450",
"id": 14
}],
"properties": [{
"address": "31 LAKEWOOD RD, WEST BEND, WI 53090",
"coverageEndDate": "02/28/2019",
"coverageStartDate": "03/01/2018",
"deductible": 5000,
"description": "31 LAKEWOOD RD, WEST BEND, WI 53090",
"id": "113",
"limit": 2000000
}],
"vehicles": [{
"coverageEndDate": "02/28/2019",
"coverageStartDate": "03/01/2018",
"deductible": "$500 Comprehensive\n$500 Collision",
"description": "2016 Ford Explorer",
"id": "126",
"limit": "$100,000",
"make": "FORD",
"model": "EXPLORER",
"transportationExpense": "$30 per day and $900 max",
"vin": "1G1FA1E38F2131121",
"year": 2016
}, {
"coverageEndDate": "02/28/2019",
"coverageStartDate": "06/18/2018",
"deductible": "$500 Comprehensive\n$500 Collision",
"description": "2017 Dodg Durango",
"id": "127",
"limit": "$100,000",
"make": "DODG",
"model": "DURANGO",
"transportationExpense": "$30 per day and $900 max",
"vin": "2G1XER366DE4DE3H5",
"year": 2007
}]
},
"lastName": "James Dio",enter code here
"policyNumber": "5519930"
}