前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >JSON必知必会【PDF+视频教程】

JSON必知必会【PDF+视频教程】

作者头像
FunTester
发布2021-11-04 11:28:46
发布2021-11-04 11:28:46
35500
代码可运行
举报
文章被收录于专栏:FunTesterFunTester
运行总次数:0
代码可运行

之前读过一本书《JSON必知必会》,深受启发,可以说是一本系统学习JSON的绝佳之选。再次强力推荐。

旧文如下:JSON基础

本次再次送上两个视频版本:

PDF版本后台回复关键字「JSON」获取下载地址,嫌麻烦的可以在「FunTester」公众号菜单里面找到我的微信二维码,添加好友。

如何获取PDF版本JSON必知必会

下面以fastjson为例简单演示一下JSON对象的操作:

创建

JSONObject fun = new JSONObject();

添加

fun.put("key", "value");

这里第一个参数必需是java.lang.String,第二个参数必需是java.lang.Object,意思就是是个对象就行,不是对象只要能对应的包装类也行。

删除

fun.remove("key");

这里有个坑:不要在遍历的时候删除

获取

代码语言:javascript
代码运行次数:0
复制
        fun.get("key");
        fun.getString("key");
        fun.getInteger("key");
        fun.getIntValue("key");

其他GET方法都是依赖于com.alibaba.fastjson.JSONObject#get,然后返回值是java.lang.Object,再根据类型转成不同的对象。

这里也有坑:getInteger还是getIntValue,这是一个问题

其他

代码语言:javascript
代码运行次数:0
复制
        fun.size();//长度
        fun.isEmpty();//是否空
        fun.entrySet();//遍历
        fun.keySet();//key集合
        fun.clear();//清空
        fun.containsKey("key");//是否包含key
        fun.containsValue("value");//是否包含value

当然这里也有坑,遍历com.alibaba.fastjson.JSONObject对象的时候,选取方法com.alibaba.fastjson.JSONObject#entrySet,而不用com.alibaba.fastjson.JSONObject#keySet

高级用法

代码语言:javascript
代码运行次数:0
复制
        fun.compute("key", (x, y) -> {
            if (y == null) {
                return "no exists";
            }
            return "exists";
        });

        fun.computeIfAbsent("list", (f -> new ArrayList<String>()));
        fun.computeIfPresent("key", (x, y) -> {
            if (y == null) {
                return "yes";
            }
            return "no";
        });

当然还有很多API,只不过平时用得少,这里就不演示了。还有一种初始化语法,给JSONObject添加自定义遍历方法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建
  • 添加
  • 删除
  • 获取
  • 其他
  • 高级用法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档