#java #if-statement #recursion
Вопрос:
Описание проблемы
Привет ,я пытаюсь извлечь объект в динамическом вложенном ответе json, приведенный ниже метод работает без возврата, но мне нужно получить значение объекта, чтобы сохранить его в виде списка массивов для последующего использования, теперь я получаю нулевое значение, пожалуйста, помогите мне решить заранее спасибо
public static Object getKey(JSONObject jsonObject, String key) {
boolean exists = jsonObject.has(key);
Iterator<String> keys;
String nextKeys;
Object value = null;
if (!exists) {
keys = jsonObject.keys();
while (keys.hasNext()) {
nextKeys = keys.next();
try {
if (jsonObject.get(nextKeys) instanceof JSONObject) {
if (exists == false) {
getKey(jsonObject.getJSONObject(nextKeys), key);
}
} else if (jsonObject.get(nextKeys) instanceof JSONArray) {
JSONArray jsonArray = jsonObject.getJSONArray(nextKeys);
for (int i = 0; i < jsonArray.length(); i ) {
String jsonArrayString = jsonArray.get(i).toString();
JSONObject innerJson = new JSONObject(jsonArrayString);
if (exists == false) {
getKey(innerJson, key);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
} else if (exists) {
value = jsonObject.get(key);
} else {
System.out.println("Not available");
}
return value;
}
Комментарии:
1. какие входные значения используются для тестирования этого метода?
2. Спасибо за ваше драгоценное время @sanjeevRm его ответ на строку json
3. выше обновление может вернуться, но мне нужна помощь в том, как вернуться в виде списка значений