2017-01-11 2 views
0

Я получаю ответ от сервера в формате JSONArray. Я не могу получить содержимое массива, и мой JSONArray не имеет квадратных скобок.Конвертировать ответ JSON в формат Array в Android

Я передаю ответ в PHP как json_encode($array) в стороне сервера

response { 
    community = “worker” 
    communitystr = "<null>"; 
    workspace = abs; 
    email = "<null>"; 
    admin = false; 
    persona = "<null>"; 
    userinfo = { 
    info = { 
     contact1 = { 
      firstname = “jon”; 
      lastname = “Doe” 
      phone = “9885678905”; 

      objectname = contact; 
      id = 9; 
     }; 
     event1 =  { 
      eventname = “party”; 
      description = ""; 
      order = 6; 
      id = 4; 
      objectname = events; 
     }; 
     files =  { 
      filename = “sample”; 
      description = ""; 
      order = 11; 
      id = 11; 
      objectname = files; 

     }; 
     }; 
    }; 
}; 

Я проверил много ссылок и все использовали JSONObject(). Но для меня это не работает.

Как получить все значения в этом ответе JSON?

+0

'' Invalid JSON –

+2

ваш JSon недействителен, проверьте ответ на http://jsonlint.com/ –

+1

@IntelliJAmiya, он недействителен, потому что у него нет квадратных скобок '['? –

ответ

0

Ваш ответ недействителен. Объект JSON.

Вы можете проверить JSON с помощью некоторых онлайн-инструмента, как http://jsonlint.com/

Полных спецификаций можно найти в RFC 7159 https://tools.ietf.org/html/rfc7159.

В основном вы должны посмотреть, как правильно закодировать значения в формате JSON. Для этого вы можете обратиться к PHP Array to JSON Array using json_encode();

1

Вы должны использовать : вместо =
, а;

...

упускают следующий формат:

 { 
      "Herausgeber": "Xema", 
      "Nummer": "1234-5678-9012-3456", 
      "Deckung": 2e+6, 
      "Waehrung": "EURO", 
      "Inhaber": 
      { 
      "Name": "Mustermann", 
      "Vorname": "Max", 
      "maennlich": true, 
      "Hobbys": [ "Reiten", "Golfen", "Lesen" ], 
      "Alter": 42, 
      "Kinder": [], 
      "Partner": null 
      } 
     } 

Ваш код кажется, более JavaScript-объект как :-)

0
   //News_list - is ArrayList 
       String output = null; 
       output = your Json string; 
       JSONObject jsonResponse = new JSONObject(output); 
       JSONArray movies = jsonResponse.getJSONArray(your json header); 
       for (int i = 0; i < movies.length(); i++) { 
        JSONObject actor = null; 
        actor = movies.getJSONObject(i); 
        String ID = null, Text = null, Data = null, Sender = null; 
        ID = actor.getString("ID");//you json value tag 
        Text = actor.getString("News_text"); 
        Data = actor.getString("Data"); 
        Sender = actor.getString("Sender"); 
        int Attach = actor.getInt("Attach_count"); 
        News_list.add(new ArrayList<String>()); 
        News_list.get(PageViewActivity.News_list.size() - 1).add(ID); 
        News_list.get(PageViewActivity.News_list.size() - 1).add(Text); 
        News_list.get(PageViewActivity.News_list.size() - 1).add(Data); 
        News_list.get(PageViewActivity.News_list.size() - 1).add(Sender); 
        News_list.get(PageViewActivity.News_list.size() - 1).add(String.valueOf(Attach)); 
       }