gson怎么判断json中的key是否存在

发布于 2022-09-04 06:27:21 字数 2220 浏览 26 评论 0

部分json文件如下:


{
  "statuses": [
    {
      "created_at": "Fri Dec 02 17:05:40 +0800 2016",
      "id": 4048283825629844,
      "mid": "4048283825629844",
      "idstr": "4048283825629844",
      "text": "前卫 //@主治医湿:造型有点害怕 //@冷知君:原谅我不懂时尚 //@城南邮局:最后是刘梓晨吧 //@话提:走远了……",
      "source_allowclick": 0,
      "source_type": 1,
      "source": "<a href=\"http://app.weibo.com/t/feed/6e3owN\" rel=\"nofollow\">iPhone 7 Plus</a>",
      "favorited": false,
      "truncated": false,
      "in_reply_to_status_id": "",
      "in_reply_to_user_id": "",
      "in_reply_to_screen_name": "",
      "pic_urls": [],
      "geo": null,
      "user": {
        "id": 5680719858,
        "idstr": "5680719858",
        "class": 1,
        "screen_name": "综艺博主",

我是使用gson来解析的,代码如下:


public class Main {

    public static void main(String[] args) throws IOException {
       
            Gson gson = new Gson();
            jsonstring abc = gson.fromJson(json,jsonstring.class);
            List<statuses> statuses = abc.getStatuses();
            for (statuses st : statuses){
                System.out.println(st.getUser().getScreen_name());
            }
        }
    }
}
//json最外层的内容
class jsonstring{
    private List<statuses> statuses;
    private String hasvisible;

    public List<com.lizhao.statuses> getStatuses() {
        return statuses;
    }
    
    public String getHasvisible() {
        return hasvisible;
    }
}
//包含statuses中的key
class statuses{
    private String created_at;
    private String text;
    private user user;

    public com.lizhao.user getUser() {
        return user;
    }

    public String getCreated_at() {
        return created_at;
    }

    public String getText() {
        return text;
    }
}
//是statuses里边user这个key的内容
class user{
    private String id;
    private String screen_name;
    private String description;

    public String getDescription() {
        return description;
    }

    public String getId() {
        return id;
    }

    public String getScreen_name() {
        return screen_name;
    }
}

存在一种情况是,user这个key不存在。

我应该怎么判断user这个key是否存在呢?

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

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

发布评论

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

评论(1

五里雾 2022-09-11 06:27:21

如果user这个key不存在,反序列化后statuses.getUser()就为null了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文