2016-08-14 2 views
0

У меня есть PHP-файл, который имеет JSon формат вывода, который выглядит точно так же, как показано ниже:JSON синтаксического анализа в андроида другом формате

{"id":"45","name":"testtest","phone":"123456","address":"test123"} 

То, что я хочу сделать, это разобрать его в моем андроид приложения и получить все поля JSON. Дело в том, что этот формат - это JSON Object, а не JSON Array, из-за чего мне трудно понять, как я его разбираю. Можете ли вы помочь мне разобраться, как? Здесь я вызываю свой url, и у меня также есть класс JSONParser. Проблема в том, что я получаю исключение Null Pointer, когда пытаюсь получить свой объект json.getJSONObject (0);

protected String doInBackground(final String... args) { 

     JSONParser jParser = new JSONParser(); 
     // get JSON data from URL 
     JSONArray json = jParser.getJSONFromUrl(url); 
      try { 

       JSONObject c = json.getJSONObject(0); 
       String id= c.getString(ID); 
       String name = c.getString(NAME); 
       String phone= c.getString(PHONE); 
       String address= c.getString(ADDRESS); 


      } catch (JSONException e) { 
       e.printStackTrace(); } 
     response = name; 

     return response; 
    } 

ответ

0

Его простой ... создать JSONObejct из String при создании JSONArray like ;;

JSONObject jsonObject = new JSONObject(provided_json); 

Затем получить элемент из JSONObject в

String id= jsonObject .getString(ID); 

Полный пример здесь ...

//String provided_json = {"id":"45","name":"testtest","phone":"123456","address":"test123"} 

    JSONObject jsonObject = new JSONObject(provided_json); 
    String id= jsonObject .getString(ID); 
    String name = jsonObject .getString(NAME); 
    String phone= jsonObject .getString(PHONE); 
    String address= jsonObject .getString(ADDRESS); 
+0

Здравствуйте, пожалуйста, вы можете изменить свой ответ, чтобы объяснить _how_ это отвечает на вопрос? Кодовые ответы не поощряются, так как они не учат решать проблемы; они только поощряют кодирование вставки. Благодарю. –

+0

Мне удалось решить проблему с вашей помощью! Спасибо! – Vivian

0
JSONObject c = new JSONObject(url); 
String id= c.getString("id"); 
String name = c.getString("name"); 
String phone= c.getString("phone"); 
String address= c.getString("address"); 
+1

Здравствуйте, добро пожаловать в SO. Можете ли вы, пожалуйста, отредактировать свой ответ, чтобы объяснить _how_, это отвечает на вопрос? Кодовые ответы не поощряются, так как они не учат решать проблемы; они только поощряют кодирование вставки. Благодарю. –

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