2013-03-11 2 views
0

я следующий JSON строку:Java библиотека JSON бросает исключение

{"widget":{"order":{"fizz":["23", "55"],"setting":"always"}},"resp":"ok"} 

И следующий код Java:

try { 
    JSONObject json = getTheAboveStringAsJSON(); 
    order = json.getJSONObject("order"); 
} catch(JSONException e) { 
    throw new RuntimeExcept(e.getMessage()); 
} 

дает мне следующее исключение:

JSONObject["order"] not found. 
java.lang.RuntimeException: JSONObject["order"] not found. 

Что происходит Здесь? Почему исключение? Что я могу сделать, чтобы исправить это? Заранее спасибо!

+2

coz 'order' - уровень вниз от вершины объекта. например '$ json-> widget-> order', а не' $ json-> order'. –

ответ

3

Ваша структура

{ 
    "widget":{ 
     "order":{ 
      "fizz":["23", "55"], 
      "setting":"always" 
     } 
    }, 
    "resp":"ok" 
} 

Таким образом, вы должны сначала доступа " виджет ", а затем" заказ "в виджетах

order = json.getJSONObject("widget").getJSONObject("order") 
0

какие-либо данные в формате JSON, возвращающиеся на getTheAboveStringAsJSON() метод не существует никаких данных с

заказ key

json.getJSONObject("widget").getJsonObject("order"); 
Смежные вопросы