这是我的jsonString:
{
"status":1,
"data":[
{
"id":"39",
"friendsInfo":{
"email":"test@gmail.com",
"phone":null,
"language":"en"
}
},
{
"id":"39",
"friendsInfo":{
"email":"test@gmail.com",
"phone":null,
"language":"en"
}
}
],
"message":""
}
这是我的receiveClass:
public class mAnswer{
@SerializedName("status")
public int mEnterStatus;
@SerializedName("data")
public List<Data> dataList;
public class Data {
@SerializedName("id")
public int mUserId;
@SerializedName("friendsInfo")
public GetUserDetails getUserDetails;
public class GetUserDetails{
@SerializedName("email")
public int email;
@SerializedName("phone")
public String phone;
@SerializedName("language")
public String language;
}
}
}
这是我成功接收答案的代码,我试图将这些数据保存到SQLite db:
private void saveList(){
Vector<ContentValues> cVVector = new Vector<ContentValues>();
int arraySize = mAnswer.dataList.size();
for (int i = 0; i < arraySize; i++){
// **HERE IS PROBLEM**
cVVector.add(friendsValue);
}
if (arraySize > 0 ){
ContentValues[] cvArray = new ContentValues[arraySize];
cVVector.toArray(cvArray);
mContext.getContentResolver().
bulkInsert(J4D_DB_Contract.UserFriendsEntry.CONTENT_URI, cvArray);
}
}
所以这是我的问题: 当我试图将列表数据保存到db?
时,如何更正调用@SerializedName元素任何想法? 会很高兴任何帮助!谢谢!
答案 0 :(得分:0)
mAnswer.dataList.get(0);
回馈
"id":"39",
"friendsInfo":{
"email":"test@gmail.com",
"phone":null,
"language":"en"
}
这就是你应该在循环中说的话:
mAnswer.dataList.get(0).getFriendsObject().getEmail();
mAnswer.dataList.get(0).getFriendsObject().getPhone();
我会用这个网站来生成我的POJO,因为我觉得它更干净。 http://www.jsonschema2pojo.org/ 该站点提供了定义良好的POJO架构,即可使用。 只需设置您正在使用JSON而不是JSON Scheme并使用GSON(如果您正在使用改造)。
将java文件复制到工作场所后。
如果变量具有相同的名称@SerializedName("jsonName")
private String jsonName;