开发者社区> 问答> 正文

如何使用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()); 怎么了,我该怎么解决? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 19:43:01 611 0
1 条回答
写回答
取消 提交回答
  • 您可以JSONArray直接解析直接类,不需要再花更多时间包装您的Post类,PostEntity也不需要新的类JSONObject().toString():

    Gson gson = new Gson(); String jsonOutput = "Your JSON String"; Type listType = new TypeToken<List >(){}.getType(); List posts = gson.fromJson(jsonOutput, listType); 希望能有所帮助。

    2020-02-08 19:43:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像