FastJson(阿里巴巴)基础
一、所需jar包:
fastjson-x.x.xx.jar(本例使用fastjson-1.1.36.jar)。
二、解析转化:
1、json字符串 < ------ > js
tring str="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"广州\",\"weight\" : \"55.5\",\"handsome\" : true}";
//json字符串 ------ > json
JSONObject jsonObject=JSONObject.parseObject(str); //json ------ > json字符串(FastJson自带方法)
String jsonStr=jsonObject.toJSONString(); //json ------ > json字符串
String jsonString=jsonObject.toString();
2、java实体类 < ------ > json
public class User {
private String name;
private int age;
private String address;
private double weight;
private boolean handsome;
//此处省略构造方法和get、set方法
User user=new User("peter", 20, "广州", 55.5, true); //java实体类 ------> json字符串
String jsonStr=JSON.toJSONString(user);
//json字符串 ------> json
JSONObject jsonObject=JSON.parseObject(jsonStr); //json ------> java实体类
User user2=(User)JSON.parseObject(jsonObject.toJSONString(),User.class);
3、List < ------ > json
List<String> list=new ArrayList<String>();
list.add("QQQQQQ");
list.add("WWWWWW");
list.add("EEEEEE");
list.add("RRRRRR"); //List------>json字符串
String jsonStr=JSON.toJSONString(list);
//json字符串------>json
JSONArray jsonArray=JSON.parseArray(jsonStr); //json------>List
List<String> list2=JSON.parseObject(jsonStr, List.class);
4、Map < ------ > json
//Map------>json字符串
String jsonStr=JSON.toJSONString(map);
//json字符串------>json
JSONObject jsonObject=JSON.parseObject(jsonStr); //json------>Map
Map<String, String> map2=JSON.parseObject(jsonObject.toJSONString(), Map.class);
5、Set < ------ > json
Set<String> set=new HashSet<String>();
set.add("QQQQQQ");
set.add("wwwwww");
set.add("eeeeee"); //Set------>json字符串
String jsonStr=JSON.toJSONString(set);
//json字符串------>json
JSONArray jsonArray=JSON.parseArray(jsonStr); //json------>Set
Set<String> set2=JSON.parseObject(jsonStr, Set.class);
三、CRUD:
1、查询数据:
String str="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"广州\",\"weight\" : \"55.5\",\"handsome\" : true}";
//json字符串 ------ > json
JSONObject jsonObject=JSONObject.parseObject(str);
String name=jsonObject.getString("name");
int age=jsonObject.getIntValue("age");
double weight=jsonObject.getDoubleValue("weight");
for (int i = 0; i < jsonArray.size(); i++) {
System.out.println(jsonArray.get(i));
}
2、增加数据:
jsonObject.put("height", 170);
jsonArray.add("XXXXXX");
3、删除数据:
jsonObject.remove("handsome");
for (int i = 0; i < jsonArray.size(); i++) {
if("EEEEEE".equals(jsonArray.get(i))){
jsonArray.remove(i);
}
}
4、修改数据:
//重置数据
jsonObject.put("height", 180);
for (int i = 0; i < jsonArray.size(); i++) {
if("EEEEEE".equals(jsonArray.get(i))){
jsonArray.remove(i);
jsonArray.add("eeeeee");
}
}
FastJson(阿里巴巴)基础的更多相关文章
- Gson和Fastjson的使用
转载自:JSON技术的调研报告 一.Google的Gson包的使用简单介绍. Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树 ...
- JSON初体验(三):FastJson解析
JSON解析之FastJson(阿里巴巴解析开源) 特点: Fastjson是一个Java语言编写的高性能功能完善的JSON库,它采用的 是一种"假定有序快速匹配"的算法,把JSO ...
- 几款Java常用基础工具库
通用工具类(字符串.时间格式化.BeanUtils.IO) 1. commons-lang3库 1.1. org.apache.commons.lang3.StringUtils类 日常代码中,我们经 ...
- 工具类-Fastjson入门使用
简介 什么是Fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到Java ...
- 从0开始fastjson漏洞分析
关于fastjson漏洞利用参考:https://www.cnblogs.com/piaomiaohongchen/p/10799466.html fastjson这个漏洞出来了很久,一直没时间分析, ...
- 最强常用开发库总结 - JSON库详解
最强常用开发库总结 - JSON库详解 JSON应用非常广泛,对于Java常用的JSON库要完全掌握.@pdai JSON简介 JSON是什么 JSON 指的是 JavaScript 对象表示法(Ja ...
- 记录一次bug解决过程:velocity中获取url中的参数
一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
- 【Android开发资料分享】自己整理的Android开发资料,非常全面
学习Android以来,不知不觉中收集了大量非常优秀的Android开发资料,一直没有系统的整理,最近抽时间把收藏夹中的资料做了一下整理,现在分享给大家,希望能够帮助到需要的人.这份资料我还会不断的更 ...
- java中的 json 处理包
Jackson 以前很火 Fastjson 阿里巴巴出品
随机推荐
- webp图片优化
根据对目前国内浏览器占比与 WebP 的兼容性分析,大约有 50% 以上的国内用户可以直接体验到 WebP,如果你的网站以图片为主,或者你的产品基于 Chromium 内核,建议体验尝试.假如你打算在 ...
- jquery ajax中事件的执行顺序
jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...
- jQuery 核心 - noConflict() 方法
1.遇到问题: 当我们写jquery时使用$,发现写的jquery全部失效: 2.发现问题: 排查后发现是noConflict()函数在作怪,因为使用noConflict()函数后,重新定义$名字为j ...
- iOS - 视频开发
视频实质: 纯粹的视频(不包括音频)实质上就是一组帧图片,经过视频编码成为视频(video)文件再把音频(audio)文件有些还有字幕文件组装在一起成为我们看到的视频(movie)文件.1秒内出现的图 ...
- python os.path模块用法详解
abspath 返回一个目录的绝对路径 Return an absolute path. >>> os.path.abspath("/etc/sysconfig/selin ...
- ubuntu16.04下安装artoolkit5
目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...
- python 关于GUI的思考(转)
作者:知乎用户链接:https://www.zhihu.com/question/19721063/answer/21311275来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- htop详解
一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为top的增强版,相比top其有着很多自身的优势.如下: 两者相比起来,top比较繁琐 默认 ...
- tun笔记
https://www.kernel.org/doc/Documentation/networking/tuntap.txt 虚拟网卡 TUN/TAP 驱动程序设计原理 https://www.ibm ...
- mysqli_report
MYSQLI_REPORT_OFF Turns reporting off MYSQLI_REPORT_ERROR Report errors from mysqli function calls M ...