2016-02-12 15 views
6

यह मेरा पहला json प्रतिक्रिया है और मैं टोकनरेट्रोफिट 2 कैसे नेस्टेड json वस्तुओं (Android)

{ 
"token": "I0ZmEifQ.CdbGWjkIYnuO29uJokCIGn8kXFbLbVp3gnlsEszagno" 
} 

POJO वर्ग मिला

public class TokenReceiver { 
    private String token; 

    public String getToken() { 
     return token; 
    } 
} 

ऊपर काम ठीक है, लेकिन कैसे से प्रतिक्रिया प्राप्त करने के लिए

नीचे
{ 
    "user": { 
    "id": 1, 
    "first_name": "Super", 
    "last_name": "Admin", 
    "email": "[email protected]", 
    "mobile_no": 2147483647, 
    "created_at": "2016-01-21 00:00:00", 
    "updated_at": "2016-01-21 00:00:00", 
    "user_role_id": 1 
    } 
} 

स्थिति कोड 200 है के लिए प्रतिक्रिया (OK) प्राप्त करने के लिए, लेकिन डेटा जी नहीं है अग्रिम

+0

आशा है कि यह आपकी मदद करेगा! बस यह http://www.jsonschema2pojo.org/ खोलें और स्रोत प्रकार का चयन करें: JSON और एनोटेशन शैली: जीएसओएन और आपको पूर्ण JSON डंप करें, आपको पूर्ण पोजो तैयार हो जाएगा, ताकि आप इसे अपने प्रोजेक्ट कोड में पेस्ट कर सकें। और वह पीओजेओ कक्षा जिसे आप रेट्रोफिट में कॉलबैक के रूप में सेट कर सकते हैं! – Rahul

उत्तर

7
public class Response{ 
    @SerializedName("user") 
    @Expose 
    private User user; 
    } 

public class User{ 

@SerializedName("id") 
@Expose 
private int id; 

@SerializedName("first_name") 
@Expose 
private String first_name; 

@SerializedName("last_name") 
@Expose 
private String last_name; 

@SerializedName("email") 
@Expose 
private String email; 

@SerializedName("mobile_no") 
@Expose 
private String mobile_no; 

@SerializedName("created_at") 
@Expose 
private String created_at; 

@SerializedName("updated_at") 
@Expose 
private String updated_at; 

@SerializedName("user_role_id") 
@Expose 
private int user_role_id; 
} 

इनर प्रतिक्रिया के लिए काम करेंगे कर सकते हैं नीचे उल्लिखित द्वारा पहुंचा जा सकता है।

response.getUser().getId(); 
+0

बहुत बहुत धन्यवाद :) प्रतिक्रिया obj = respond.body() क्या मैं इस ऑब्जेक्ट (ओबीजे) का उपयोग केवल रेट्रोफिट के ऑनस्पॉन्स विधि के अंदर कर सकता हूं? –

+0

हाँ आप सही हैं..तुम्हें प्रतिक्रिया की मूल वस्तु भेजनी चाहिए - नया कॉलबैक () – Boopathi

+0

मैं उस ऑब्जेक्ट को ऑन रेस्पॉन्स विधि के बाहर कैसे उपयोग कर सकता हूं? –

1
Public class classname{ 

public User user; 
class User{ 

@SerializedName("id") 
@Expose 
private int id; 

@SerializedName("first_name") 
@Expose 
private String first_name; 

@SerializedName("last_name") 
@Expose 
private String last_name; 

@SerializedName("email") 
@Expose 
private String email; 

@SerializedName("mobile_no") 
@Expose 
private String mobile_no; 

@SerializedName("created_at") 
@Expose 
private String created_at; 

@SerializedName("updated_at") 
@Expose 
private String updated_at; 

@SerializedName("user_role_id") 
@Expose 
private int user_role_id; 
} 
} 

कोड से ऊपर में POJO से जुड़ी ETTING

public class User { 

    @SerializedName("id") 
    @Expose 
    private int id; 

    @SerializedName("first_name") 
    @Expose 
    private String first_name; 

    @SerializedName("last_name") 
    @Expose 
    private String last_name; 

    @SerializedName("email") 
    @Expose 
    private String email; 

    @SerializedName("mobile_no") 
    @Expose 
    private String mobile_no; 

    @SerializedName("created_at") 
    @Expose 
    private String created_at; 

    @SerializedName("updated_at") 
    @Expose 
    private String updated_at; 

    @SerializedName("user_role_id") 
    @Expose 
    private int user_role_id; 
} 

धन्यवाद आप

+0

धन्यवादउ दोस्त दोस्त नाम obj = response1.body(); // असाइन Log.d ("MainActivity2", "ईमेल =" + response1.body()। user.getEmail()); Log.d ("MainActivity2", "ईमेल =" + obj.user.getEmail()); असाइन करने के बाद जो कॉल करने का सही तरीका है ... दोनों ईमेल प्रिंट करते हैं :) –

+0

ठीक है। यदि यह काम करता है तो इसका मतलब है कि उत्तर स्वीकार कर सकता है यह किसी के लिए उपयोगी होगा – MathaN

संबंधित मुद्दे