我有這個響應來自服務器。我想解析使用pojo類。我創建了pojo類,其中包含setter和getter方法,它們保存值。但是我使用的邏輯工作不正常。雖然我正在打印值,但它並沒有完全返回值。如何使用Android中的POJO類解析每個數組元素中具有不同鍵的JSON
響應:
{
"code":200,
"status":"ok",
"message":"Promotions feed.",
"data":{
"feed":[
{
"id":0,
"businessId":0,
"photoUrl":"https:\/\/d1e6yi6s3cx2ur.cloudfront.net\/videos\/0\/8b84c9c1-50ed-4e93-9785-797bbf2be667.png",
"videoUrl":"https:\/\/d1e6yi6s3cx2ur.cloudfront.net\/videos\/0\/_464b2fb6-ede6-403f-b6ae-1666c9504337.mov",
"isNew":true,
"type":"news"
},
{
"id":198,
"specialType":"limited",
"name":"Big Data Shoes!",
"description":"Get them now while you can. They're dangerous!",
"start":"2017-06-04 14:59:01Z",
"end":"2018-01-26 19:00:00Z",
"limitedAmount":30,
"countInfo":{
"views":70,
"likes":0,
"liked":false,
"type":"count_info"
},
"type":"special"
},
{
"id":"1616636",
"partnerId":3,
"uuid":"57dacc36-abac-4bb3-89a4-f1981130b206",
"type":"partner_offer"
}
]
}
}
FeedPojo.java
public class FeedPojo {
private static String id;
private static String businessId;
private static String photoUrl;
private static String videoUrl;
public static String getId() {
return id;
}
public static void setId(String id) {
FeedPojo.id = id;
}
public static String getPartnerId() {
return partnerId;
}
public static void setPartnerId(String partnerId) {
FeedPojo.partnerId = partnerId;
}
}
MainActivity.java
FeedPojo.setType(promoJsonObject.getString("type"));
Log.d(TAG, "TypeFeed:" + FeedPojo.getType());
Log.e(TAG, "Type:" + promoJsonObject.getString("type"));
if (promoJsonObject.getString("type") == "news") {
FeedPojo.setId(promoJsonObject.getString("id"));
FeedPojo.setBusinessName(promoJsonObject.getString("businessName"));
FeedPojo.setBusinessLogoUrl(promoJsonObject.getString("businessLogoUrl"));
FeedPojo.setText(promoJsonObject.getString("text"));
Log.d(TAG,"Id"+FeedPojo.getId());
Log.d(TAG,"Businessname"+FeedPojo.getBusinessName());
}
if (FeedPojo.getType() == "special") {
FeedPojo.setId(promoJsonObject.getString("id"));
FeedPojo.setType(promoJsonObject.getString("type"));
FeedPojo.setName(promoJsonObject.getString("name"));
FeedPojo.setDescription(promoJsonObject.getString("description"));
FeedPojo.setStart(promoJsonObject.getString("start"));
FeedPojo.setEnd(promoJsonObject.getString("end"));
}
你FeedPojo似乎並沒有讓所有的領域。 – benjosantony
我只發佈了幾個字段,以方便理解..但是我在源代碼中聲明瞭所有這些字段。 @benjosantony – user1918566