2013-04-22 2 views
0

Я пытаюсь прочитать список из формата JSON в Android Java.парсинг-лист в JSON без фигурных скобок в android-java

Я могу читатьдетей использованием getJSONarray(). Но не может читать значения Сообщение или email.

Кажется, getJSONarray() не работает для чего я хочу.

Да, я использую getJSONObject на детей, чтобы извлечь сообщение. Но как мне извлечь отдельные значения после получения массива сообщений?

{ 
    "children": [{ 
    "message": ["message1","message2","message3"], 
    "email": ["email1", 
       "email2"] 
    }, { 
    "message": ["message1", "message2", "message3"], 
    "email": ["email1", "email2"] 
    }] 
} 

Я знаю, как извлечь из:

{ 
     "children": [{ 
        "message1": "message___1" 
        "message2": "message___2" 
        "message3": "message___3" 

      }] 
} 

Но не тогда, когда это все в списке.

ответ

0

попробуйте следующий код:

for(int i=0; i<childrenArray.length(); i++) 
{ 
JSONObject childObj=childrenArray.getJSONObject(i); 
JSONArray messageArray=childObj.getJSONArray("message"); 
    for(int j=0; j<messageArray.length();j++ 
     { 
      //here get value from messageArray.getString(j) or messageArray.getJSONObject(j), whichever applicable 
     } 

JSONArray emailArray=childObj.getJSONArray("email"); 
    for(int k=0; k<emailArray.length();k++ 
     { 
      //here get value from emailArray.getString(k) or emailArray.getJSONObject(k), whichever applicable 
     } 

} 
1

Что вам нужно сделать, как только вы получили JSONArray из «детей» состоит в затем извлечь отдельные JSONObjects один за другим, как так:

for (int counter = 0; counter < childArray.length(); counter++) { 
    //Get the next item 
    JSONObject nextobj = childArray.getJSONObject(counter); 

Затем вы можете извлечь ваши сообщения и электронной почты из массива переменную nextobj. Это происходит потому, что каждый «сообщение» и «электронная почта» не доступны прямо из ваших «детей» JSONArray, они обернуты в JSONObjects

+0

* Да, я использую getJSONобъект для детей для извлечения сообщения. Но как я извлекаю отдельные значения после получения массива сообщений? – gizmoUb

+0

Я хочу извлечь значения из списка. и эти значения не имеют никаких индексов, по-видимому, для использования на них getJSONObject. – gizmoUb

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