2016-02-04 4 views
1

У меня ошибка при попытке проанализировать результаты JSON. Моя строка http выглядит так:Ошибка JSON на OrientDB Результаты

String query_str = "http://192.168.1.67:2480/query/GratefulDeadConcerts/sql/select%20name%20from%20V%20where%20name= 'BERTHA'";

, который следует читать: выбрать имя из V, где имя = 'БЕРТА'

это возвращает результат запроса: { "результат": [{ "@ типа": "D", "@ избавиться": "# -2: 0", "@ версии": 0, "имя": "BERTHA"}]}

Мой синтаксический анализ кода выглядит следующим образом:

try { 
Logging.log ("parseContent", "Entered in parseContent"); 
    JSONObject jsonData = new JSONObject(contentStr); 
    JSONArray itemsArray = jsonData.getJSONArray(DEAD_result); 
    Logging.log("parseContent", "After object Creation "); 
    for(int i=0; i<itemsArray.length(); i++) { 
     Logging.log("parseContent", "Before name parse "); 
     String name = jsonData.getString(DEAD_SONG_NAME); 
     String song_type = jsonData.getString(DEAD_SONG_TYPE); 
     String type = jsonData.getString(DEAD_TYPE); 
     String performances =jsonData.getString(DEAD_PERFORMANCES); 

     } 

Я получаю ошибку:

org.json.JSONException: Нет v ALUE для имени

в org.json.JSONObject.get (JSONObject.java:355) в org.json.JSONObject.getString (JSONObject.java:515)

Я думает, что это означает, что объект JSON может не найти поле «имя» в строке JSON. Вы можете увидеть поле имени в результатах. Есть и дополнительные поля.

OrientDB 2.1.9

Благодаря

ответ

2

Попробуйте с этим кодом

String contentStr="{'result':[{'@type':'d','@rid':'#-2:0','@version':0,'name':'BERTHA'}]}"; 
try { 
    JSONObject jsonData = new JSONObject(contentStr); 
    JSONArray itemsArray = jsonData.getJSONArray("result"); 
    for(int i=0; i<itemsArray.length(); i++) { 
     JSONObject jsonObject = itemsArray.getJSONObject(i); 
     String name= jsonObject.getString("name"); 
    } 
} 
+0

произведения Спасибо большое – Tony

Смежные вопросы