Java 如何使用Gson解析JSON数组
我想解析JSON数组并使用gson。首先,我可以记录JSON输出,服务器清楚地响应客户端。
这是我的JSON输出:
[ {
id : '1',
title: 'sample title',
....
},
{
id : '2',
title: 'sample title',
....
},
...
]
我尝试了这种结构进行解析。一个类,该类取决于单个JSONArray array
和ArrayList
所有JSONArray。
public class PostEntity { private ArrayList<Post> postList = new ArrayList<Post>();
public List<Post> getPostList() {
return postList;
}
public void setPostList(List<Post> postList) {
this.postList = (ArrayList<Post>)postList;
}
}
上课时间:
public class Post { private String id;
private String title;
/* getters & setters */
}
当我尝试使用gson时,没有错误,没有警告,也没有日志:
GsonBuilder gsonb = new GsonBuilder(); Gson gson = gsonb.create();
PostEntity postEnt;
JSONObject jsonObj = new JSONObject(jsonOutput);
postEnt = gson.fromJson(jsonObj.toString(), PostEntity.class);
Log.d("postLog", postEnt.getPostList().get(0).getId());
怎么了,我该怎么解决?
回答:
你可以JSONArray
直接解析直接类,不需要再花更多时间包装你的Post类,PostEntity
也不需要新的类JSONObject().toString()
:
Gson gson = new Gson();String jsonOutput = "Your JSON String";
Type listType = new TypeToken<List<Post>>(){}.getType();
List<Post> posts = gson.fromJson(jsonOutput, listType);
希望能有所帮助。
以上是 Java 如何使用Gson解析JSON数组 的全部内容, 来源链接: utcz.com/qa/433745.html