新浪微博返回的这种复杂的json数据应该怎么解析?

发布于 2022-09-04 06:07:49 字数 705 浏览 61 评论 0

新浪微博获取用户微博的接口说明 链接描述

根据接口,返回的是复杂的json数据,我截取了获取到的数据中的一段,尝试用gson进行解析,结果发现解析报错。
下边是截取的部分json文件的内容,请教大家:

user这个key对应的java类型应该是什么呢?我试了List和ArryList都不对,不知道他对应的类型是什么


{
  "statuses": [
    {
      "created_at": "Fri Dec 02 17:05:40 +0800 2016",
      "id": 4048283825629844,
      "mid": "4048283825629844",
      "idstr": "4048283825629844",
      "text": "前卫 //@主治医湿:造型有点害怕 //@冷知君:原谅我不懂时尚 //@城南邮局:最后是刘梓晨吧 //@话提:走远了……",
      "user": {
        "id": 5680719858,
        "idstr": "5680719858",
        "class": 1,
        "screen_name": "综艺博主",
        "name": "综艺博主",
        

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

腻橙味 2022-09-11 06:07:49

没用过这个库,不过看错误信息,问题应该在这句:

jsonstring abc = gson.fromJson(jsonfile,jsonstring.class);

提示java.lang.IllegalStateException: Expected a string but was BEGIN_ARRAY。
你确定gson.fromJson(jsonfile,jsonstring.class)返回的类型是jsonstring吗?

§对你不离不弃 2022-09-11 06:07:49

对应的是user对象。。。
{}中间的是对象(或者Map),[]中间的才是数据(或者List)

雨巷深深 2022-09-11 06:07:49

它对应的应该是java里面的字典类型,因为他是一个键值对,你可以用hashtable等数据结构来存储

那些过往 2022-09-11 06:07:49

很明显啊,就是一个普通的对象。
而且根据json创建对应的类,应该用插件,直接避免了你这种问题。

private UserBean user;
public static class UserBean {
    private int id;
    private String screen_name;
    private String name;
    private String province;
    private String city;
    private String location;
    private String description;
    private String url;
    private String profile_image_url;
    private String domain;
    private String gender;
    private int followers_count;
    private int friends_count;
    private int statuses_count;
    private int favourites_count;
    private String created_at;
    private boolean following;
    private boolean allow_all_act_msg;
    private String remark;
    private boolean geo_enabled;
    private boolean verified;
    private boolean allow_all_comment;
    private String avatar_large;
    private String verified_reason;
    private boolean follow_me;
    private int online_status;
    private int bi_followers_count;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文