2010-12-15 66 views
24

Bir API ile etkileşim kurmalıyım ve yanıt biçimi (okuduğumdan) kötü yapılandırılmış gibi görünüyor. Biraz benzer bir here numaralı soruna bir Google grup yanıtı buldum, ancak Gson.fromJson'u işlemek için bir Response sınıfının uygulanmasında sorun yaşıyorum. Orada eksik olan bir örnek var mı?Java - Gson ayrıştırma iç içe geçmiş iç içe yuvalanmış

{ 

"response":{ 
    "reference": 1023, 
    "data":{ 
     "user":{ 
      "id":"210", 
      "firstName":"john", 
      "lastName":"smith", 
      "email":"[email protected]", 
      "phone":"", 
      "linkedid":{ 
       "id":"238" 
      } 
     } 
    } 
} 

} 

cevap

44

JSON {} bir Map<String, Object> veya Javabean sınıfı ile temsil edilebilir nesneler. İşte bir Javabean kullanan bir örnek. olarak

public class ResponseData { 
    private Response response; 
    // +getter+setter 

    public static class Response { 
     private int reference; 
     private Data data; 
     // +getters+setters 
    } 

    public static class Data { 
     private User user; 
     // +getter+setter 
    } 

    public static class User { 
     private String id; 
     private String firstName; 
     private String lastName; 
     private String email; 
     private String phone; 
     private Linkedid linkedid; 
     // +getters+setters 
    } 

    public static class Linkedid { 
     private String id; 
     // +getter+setter 
    } 
} 

Kullanım onu ​​izler:

ResponseData responseData = new Gson().fromJson(json, ResponseData.class); 
+0

Neden GSON iç sınıf gerektirir? – Chetan

+1

@Chetan: Bu bir GSON gereksinimi değil. – BalusC

+2

Bunları yazdırmaya çalıştığımda boş bir işaretçi istisnası alıyorum. –

İlgili konular