一、所需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(阿里巴巴)基础的更多相关文章

  1. Gson和Fastjson的使用

    转载自:JSON技术的调研报告 一.Google的Gson包的使用简单介绍. Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树 ...

  2. JSON初体验(三):FastJson解析

    JSON解析之FastJson(阿里巴巴解析开源) 特点: Fastjson是一个Java语言编写的高性能功能完善的JSON库,它采用的 是一种"假定有序快速匹配"的算法,把JSO ...

  3. 几款Java常用基础工具库

    通用工具类(字符串.时间格式化.BeanUtils.IO) 1. commons-lang3库 1.1. org.apache.commons.lang3.StringUtils类 日常代码中,我们经 ...

  4. 工具类-Fastjson入门使用

    简介 什么是Fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到Java ...

  5. 从0开始fastjson漏洞分析

    关于fastjson漏洞利用参考:https://www.cnblogs.com/piaomiaohongchen/p/10799466.html fastjson这个漏洞出来了很久,一直没时间分析, ...

  6. 最强常用开发库总结 - JSON库详解

    最强常用开发库总结 - JSON库详解 JSON应用非常广泛,对于Java常用的JSON库要完全掌握.@pdai JSON简介 JSON是什么 JSON 指的是 JavaScript 对象表示法(Ja ...

  7. 记录一次bug解决过程:velocity中获取url中的参数

    一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...

  8. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

  9. 【Android开发资料分享】自己整理的Android开发资料,非常全面

    学习Android以来,不知不觉中收集了大量非常优秀的Android开发资料,一直没有系统的整理,最近抽时间把收藏夹中的资料做了一下整理,现在分享给大家,希望能够帮助到需要的人.这份资料我还会不断的更 ...

  10. java中的 json 处理包

    Jackson 以前很火 Fastjson 阿里巴巴出品

随机推荐

  1. webp图片优化

    根据对目前国内浏览器占比与 WebP 的兼容性分析,大约有 50% 以上的国内用户可以直接体验到 WebP,如果你的网站以图片为主,或者你的产品基于 Chromium 内核,建议体验尝试.假如你打算在 ...

  2. jquery ajax中事件的执行顺序

    jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...

  3. jQuery 核心 - noConflict() 方法

    1.遇到问题: 当我们写jquery时使用$,发现写的jquery全部失效: 2.发现问题: 排查后发现是noConflict()函数在作怪,因为使用noConflict()函数后,重新定义$名字为j ...

  4. iOS - 视频开发

    视频实质: 纯粹的视频(不包括音频)实质上就是一组帧图片,经过视频编码成为视频(video)文件再把音频(audio)文件有些还有字幕文件组装在一起成为我们看到的视频(movie)文件.1秒内出现的图 ...

  5. python os.path模块用法详解

    abspath 返回一个目录的绝对路径 Return an absolute path. >>> os.path.abspath("/etc/sysconfig/selin ...

  6. ubuntu16.04下安装artoolkit5

    目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...

  7. python 关于GUI的思考(转)

    作者:知乎用户链接:https://www.zhihu.com/question/19721063/answer/21311275来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  8. htop详解

    一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为top的增强版,相比top其有着很多自身的优势.如下: 两者相比起来,top比较繁琐 默认 ...

  9. tun笔记

    https://www.kernel.org/doc/Documentation/networking/tuntap.txt 虚拟网卡 TUN/TAP 驱动程序设计原理 https://www.ibm ...

  10. mysqli_report

    MYSQLI_REPORT_OFF Turns reporting off MYSQLI_REPORT_ERROR Report errors from mysqli function calls M ...