我試圖用火力地堡解析以下JSON:解析ID發佈FirebaseRecyclerAdapter
{
"organizations" : {
"-KS5bLCjQmNSQZDIQkTE" : {
"about" : {
"address" : "teka",
"city" : "sns",
"country" : "South Africa",
"created_at" : 1474358502482,
"name" : "diverse",
"pincode" : "167377",
"state" : "punjab",
"utc" : "2016-09-20 08:01:41"
},
"department" : {
"-KS9LUpZWo5UqtWKJwJ8" : {
"address" : "best",
"name" : "test"
}
}
}
}
}
這裏是我的Java代碼:
@IgnoreExtraProperties
public class Organizations {
About about;
Department department;
public String getDepartment() {
return department;
}
public static class Department{
public String address;
public String name;
public String getName() {
return name;
}
public String getAddress() {
return address;
}
}
}
FirebaseRecyclerAdapter
fbOrganizationRecycleAdapter = new FirebaseRecyclerAdapter<Organizations, OrganizationHolder>
(Organizations.class, R.layout.list_items_orgnization,OrganizationHolder.class,lastFifty)
{
@Override
protected void populateViewHolder(OrganizationHolder viewHolder, final Organizations model, int position) {
Log.e(TAG, "test " + model.getDepartment().getName());
}
};
一切解析精除Department
。當我試圖獲得model.getDepartment().getName();
時,它返回我null department
。
如果數據是像下面的JSON,它工作正常:
{
"organizations" : {
"-KS5bLCjQmNSQZDIQkTE" : {
"about" : {
"address" : "teka",
"city" : "sns",
"country" : "South Africa",
"created_at" : 1474358502482,
"name" : "diverse",
"pincode" : "167377",
"state" : "punjab",
"utc" : "2016-09-20 08:01:41"
},
"department" : {
"address" : "best",
"name" : "test"
}
}
}
}
我認爲這個問題是與ID
。請讓我知道如何從以下JSON解析ID "-KS9LUpZWo5UqtWKJwJ8"
:
"department" : {
"-KS9LUpZWo5UqtWKJwJ8" : {
"address" : "best",
"name" : "test"
}
}
請提供最小代碼tha重現了這個問題。就目前而言,我們不知道'Department'類是什麼樣的,也不知道你如何實際讀取數據(使用某種監聽器或者如何設置適配器的參考)。 –
您可以編寫'JsonDeserializer'或'TypeAdapterFactory'來自行解析它。這裏有一個很好的例子,來自Jesse Wilson(Gson撰稿人)http://stackoverflow.com/a/11272452/1726166 – ytRino