写点什么

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

用户头像
FunTester
关注
发布于: 刚刚

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


旧文如下:JSON基础


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



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



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

创建

JSONObject fun = new JSONObject();

添加

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


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

删除

fun.remove("key");


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

获取

        fun.get("key");        fun.getString("key");        fun.getInteger("key");        fun.getIntValue("key");
复制代码


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


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

其他

        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

高级用法

        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添加自定义遍历方法

Have Fun ~ Tester !

发布于: 刚刚阅读数: 2
用户头像

FunTester

关注

公众号:FunTester,650+原创,欢迎关注 2020.10.20 加入

Have Fun,Tester! 公众号FunTester,坚持原创文章的测试人。 FunTester测试框架作者,DCS_FunTester分布式性能测试框架作者。

评论

发布
暂无评论
JSON必知必会【PDF+视频教程】