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 阿里巴巴出品
随机推荐
- Windows Server 2008 R2之一活动目录服务部署
测试环境: 服务器:计算机名Win2008R2CNDC,已安装Windows Server 2008 R2.IPV4:192.168.1.13,255.255.255.0,网关地址192.168.1. ...
- php---进行签名验证
为什么要进行签名,我们在进行数据请求的时候,为了防止数据被人截取,造成不好的影响,所以我们在进行数据请求的时候,需要进行签名验证,进行签名的原理是:客户端和服务端使用同样的签名算法,来计算签名,当客户 ...
- JAVA基础知识点转载
JAVA部分: 1.Java 指定线程执行顺序(三种方式) 转载link:https://blog.csdn.net/difffate/article/details/63684290 2.jdk7中 ...
- cas 单点登录 --自定义审计日记@Audit()
错误信息: org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [An ...
- easyui_2----messager
<script> $.messager.alert("这是头","这是内容"); </script> 必须放在 $(function() ...
- Cloudstack云平台实践
laaS平台的虚拟化 利用率高 资源整合 节约电能 节约空间 灾难恢复 CloudStack是一个开源的具有高可用性及扩展性的云计算平台.支持管理大部分主流的hypervisor,如KVM虚拟机,Xe ...
- ubuntu下安装opencv3.1.0
ubuntu14.04安装opencv3.1 1.下载opencv3.1源码http://opencv.org/releases.html 2.安装opencv3 2.1安装opencv3的依赖 1 ...
- Django的URL name 学习
1.打开工程文件下的url.py: from django.contrib import admin from django.urls import path from django.conf.url ...
- Ubuntu:/etc/rc.local 可执行权限问题
VmWare 11.1.2 安装Ubuntu 12.04系列版本, /etc/rc.local 有可执行权限. 安装Ubuntu 14.04系列版本,发现 /etc/rc.local 没有可执行权限, ...
- 判断tableViewCell是否在可视区
1.- (NSArray *)visibleCells; UITableview 的方法,这个最直接,返回一个UITableviewcell的数组. 对于自定义的cell,之后的处理可能会稍微复杂. ...