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

摘要:
之前读过一本书《JSON必知必会》,深受启发,可以说是一本系统学习JSON的绝佳之选。本次再次送上两个视频版本:JSONArray基本操作--视频演示JSONObject对象基本操作--视频讲解PDF版本后台回复关键字JSON获取下载地址,嫌麻烦的可以在FunTester公众号菜单里面找到我的微信二维码,添加好友。

之前读过一本书《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");

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

获取
        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 !

免责声明:文章转载自《JSON必知必会【PDF+视频教程】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ios开发网络学习二:URL转码以及字典转模型框架MJExtension的使用创建Java2D图形下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python实现快捷输入(类似WeGame的一键喊话)

故事背景:   表弟跟我说,他玩游戏玩的不是很好,导致经常被队友互动,但是自己的手速有限,经常在互动中败阵。   因此,尝试做一款小工具,帮助表弟取得和队友互动的胜利! 逻辑设计:   监听键盘上的某个按键   当该按键被按下时,调用数据库(或者远程接口)的数据   将获取到的数据写进Windows的剪贴板   模拟粘贴快捷键(Ctrl + V),将数据文...

HashMap源码分析

final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { HashMap.Node<K,V>[] tab; HashMap.Node<K,V> p; int n, i; // 1.如果t...

xcode KVC:Key Value Coding 键值编码

赋值 // 能修改私有成员变量 - (void)setValue:(id)value forKey:(NSString *)key; - (void)setValue:(id)value forKeyPath:(NSString *)keyPath; - (void)setValuesForKeysWithDictionary:(NSDictionary...

建行互联网银企被扫支付

背景 最近在对接建行的支付,我们做的是被扫支付,就是B扫C,一开始对方发了一个压缩包给我,看起来挺齐全的,文档、demo啥的都有,以为很简单,跟微信支付宝类似,调一下接口,验证一下就OK了。然而,事实证明我还是太年轻了。而且网络上你能够搜到的基本上都用不了,所以记一下博客,或许可以帮助其他人。 先说一下建行支付比较特殊的地方吧 1、官方提供的demo里面,...

zabbix详解(一)

zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由3部分构成,zabbixserver、可选组件zabbix proxy、可选组件zabbix agent。...

PHP设计模式之注册模式

单例模式保证了一个类中只有一个实例被全局访问,当你有一组全局对象被全局访问时可能就需要用到注册者模式 (registry),它提供了在程序中有条理的存放并管理对象 (object)一种解决方案。一个“注册模式”应该提供get() 和 set()方法来存储和取得对象(用一些属性key)而且也应该提供一个isValid()方法来确定一个给定的属性是否已经设置。...