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 阿里巴巴出品
随机推荐
- python WEB UI自动化在日期框中动态输入当前日期
要在日期框中输入当前日期,如下图 代码为 本想用最简单的方法,直接用sendkeys发送当前日期,如下: current_time=time.strftime('%Y-%m-%d',time.loca ...
- github基本用法
本人github账号:https://github.com/pingfanren,喜欢的朋友可以给我点星. Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法. 一:下载G ...
- webconfig的配置说明
转自 :http://www.cnblogs.com/kissdodog/archive/2013/04/16/3025315.html <?xml version="1.0" ...
- Time Profiler Instrument分析卡顿
https://www.jianshu.com/p/080108c969e8 启动Time Profile:Xcode ——> Product ——> Profile ——> Tim ...
- 让WIN7桌面显示IE图标
首先新一个文本文件,将以下代码复制到新建文档中.然后保存为IE.reg,右键以管理员权限运行.此时,注册表注册成功.LOOK,IE图标出来了 Windows Registry Editor Versi ...
- Tunnel Warfare--- hdu1540 线段树求连续子区间
题目链接 题意:有n个村庄,编号分别为1-n:由于战争会破坏村庄,但是我们也会修复: D x代表村庄x被破坏: Q x是求与x相连的有几个没有被破坏: R 是修复最后一次被破坏的村庄: 接下来有m个操 ...
- A Bug's Life-----poj2492(关系并查集)
题目链接:http://poj.org/problem?id=2492 题意是问是否存在同性恋, 就是a喜欢b,b喜欢c,a又喜欢c,所以就有同性恋了: #include<stdio.h> ...
- 几个经典的css技巧
使用 line-height 垂直居中 line-height:24px; 使用固定宽度的容器并且需要一行垂直居中时,使用 line-height 即可(高度与父层容器一致),更多的垂直居中总结可以看 ...
- python 面向对象 issubclass
判断是否 他的父类 class Foo(object): pass obj = Foo() class Boo(Foo): pass class Coo(Boo): pass obj = Boo() ...
- 怎样在 Ubuntu 上使用 ZFS 文件系统 | Linux 中国
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79329762 http://mmbiz ...