У меня есть некоторые JSON
так:Java - Получить значение переменного типа из JSONObject
{"result":[{"job":{"type":"Employee","title":"","occupation":"Underwater Basket Weaver"}}]}
я получаю значение Оккупации как так:
import org.json.JSONArray;
import org.json.JSONObject;
String occupation = null;
JSONArray resultArray = obj.getJSONArray("result");
JSONObject firstResult = resultArray.getJSONObject(0);
occupation = firstResult.getJSONObject("job").getString("occupation");
Однако, по какой-то причине, рода занятия Значение не всегда равно String
. Я предполагаю, что это может быть int
, или это может быть null
. В итоге я получаю исключение:
org.json.JSONException: JSONObject ["оккупация"] не строка. в org.json.JSONObject.getString (JSONObject.java:658)
Что вы должны делать, когда вы имеете дело с JSONObjects, которые принимают на типы переменных данных?
Вы, возможно, придется проверить, если 'GetString ("Оккупация")' действует с 'IsNull (String)'. Согласно http://www.json.org/javadoc/org/json/JSONObject.html#getString(java.lang.String), 'getString (...)' генерирует исключение, если оно не найдено ни одного – Robb