Java 如何使用Gson解析JSON数组

我想解析JSON数组并使用gson。首先,我可以记录JSON输出,服务器清楚地响应客户端。

这是我的JSON输出:

 [

{

id : '1',

title: 'sample title',

....

},

{

id : '2',

title: 'sample title',

....

},

...

]

我尝试了这种结构进行解析。一个类,该类取决于单个JSONArray arrayArrayList所有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

回到顶部