2015-02-10 6 views
-1

Как разобрать JSON в JAVA. Поделитесь форматом JSON ниже.Как разобрать Json в android?

{ "contacts": [ 
    { 
    "id": "c200", 
    "name": "Ravi Tamada", 
    "email": "[email protected]", 
    "address": "xx-xx-xxxx,x - street, x - country", 
    "gender" : "male", 
    "phone": { 
     "mobile": "+91 0000000000", 
     "home": "00 000000", 
     "office": "00 000000", 
     "contacts":[ { 
      "id": "c2011", 
      "name": "Rakesh", 
      "email":"[email protected]", 
      "address":"frtre,sedw,dsfdr", 
      "gender" :"female", 
      "phone": { 
     "mobile": "+91 0000000000", 
     "home": "00 000000", 
     "office": "00 000000" 
      } 
     } ] 
    }  
    }, 
    { 
    "id": "c201", 
    "name": "Johnny Depp", 
    "email": "[email protected]", 
    "address": "xx-xx-xxxx,x - street, x - country", 
    "gender" : "male", 
    "phone": { 
     "mobile": "+91 0000000000", 
     "home": "00 000000", 
     "office": "00 000000" 
    } 
    } 
    ... 
    ] 
} 

Я пытаюсь решить эту проблему, так как последние два дня, но это не может быть разбор в java. Также следуйте за некоторыми учебниками, но с той же проблемой.

Так что, пожалуйста, помогите мне.

Заранее благодарен!

Пожалуйста, помогите мне.

Спасибо!

+0

Возможный дубликат [Как разобрать JSON в Android] (http://stackoverflow.com/questions/9605913/how-to-parse-json-in-android) –

ответ

4

Использование GSON GSON - замечательная библиотека от Google. JsonParser пример:

JsonParser parser = new JsonParser(); 
JsonObject o = (JsonObject)parser.parse("{\"a\": \"A\"}"); 

см это JSON parsing using Gson for Java

+0

Спасибо за ответ.лет мне однажды проконсультируйтесь с GSON библиотеки. –

0
JSONObject reader = new JSONObject(downloadResult);//is the result you get by http 
JSONObject contacts = reader.getJSONObject("contacts"); 
0
try { 


      JSONObject jsonObject=JSONObject(jsonresponse); 
      JSONArray jsonArray=jsonObject.getJSONArray("contacts"); 

      if(jsonArray!=null&&jsonArray.length()>0) 
      { 
       for (int i = 0; i < jsonArray.length(); i++) { 

        jsonObject=jsonArray.getJSONObject(i); 

        String id=jsonObject.getString("id"); 
        String name=jsonObject.getString("name"); 
        String email=jsonObject.getString("email"); 
        String address=jsonObject.getString("address"); 
        String gender=jsonObject.getString("gender"); 

        JSONObject phone=jsonObject.getJSONObject("phone"); 

        String mobile=phone.getString("mobile"); 
        String home=phone.getString("home"); 
        String office=phone.getString("office"); 


        JSONArray contacts=phone.optJSONArray("contacts"); 

        if(contacts!=null&&contacts.length()>0) 
        { 

         for (int j = 0; j < contacts.length(); j++) { 

          JSONObject jsonObject2=contacts.getJSONObject(j); 

          id=jsonObject2.getString("id"); 
          name=jsonObject2.getString("name"); 
          email=jsonObject2.getString("email"); 
          address=jsonObject2.getString("address"); 
          gender=jsonObject2.getString("gender"); 

          jsonObject2=jsonObject.getJSONObject("phone"); 

          mobile=phone.getString("mobile"); 
          home=phone.getString("home"); 
          office=phone.getString("office"); 

         } 


        } 

       } 


      } 

     } catch (Exception e) { 
      // TODO: handle exception 
     } 
+0

Если у вас все еще есть какие-либо вопросы, пожалуйста, дайте мне знать. – droidd

0

Я также рекомендую GSON, использовали его, так как я помню.

Пример использования:

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss").create(); 
DataResult data = gson.fromJson(json,DataResult.class); 

Класс DataResult должен иметь ту же структуру, что и формат объекта JSON вы получаете. Имена переменных должны быть одинаковыми ...

Надеюсь, это поможет.

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