一、所需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. Java虚拟机四 常用Java虚拟机参数

    主要涉及的知识点: 1.跟踪Java虚拟机的垃圾回收和类加载等信息: 2.配置Java虚拟机的堆空间: 3.配置永久区和Java栈. 4.学习虚拟机的服务器和客户端模式. 1.1 跟踪垃圾回收 Jav ...

  2. 使用不同模板引擎beetl、FreeMarker、Velocity动态解析sql的方法

    1. String sql = null;if(null == renderType || renderType.equals(ConstantRender.sql_renderType_beetl) ...

  3. thinkCMF----调用幻灯片

    还是在Common.php上写: /* * slide 获取幻灯片 * 具体使用: <?php $slide = slide();?> <foreach name="sli ...

  4. mysql limit 优化

    1.当取出的数据超过20%时,优化器不会使用索引,而是全表扫描: 2.limit和offset的问题,其实是offset的问题,它会导致mysql扫描大量不需要的行然后删掉 如: select * f ...

  5. ubuntu下绝对路径和相对路径的问题

     绝对路径与相对路径 除了需要特别注意的FHS目录配置外,在文件名部分我们也要特别注意.因为根据档名写法的不同,也可将所谓的路径(path)定义为绝对路径(absolute)与相对路径(relativ ...

  6. JavaScript 包管理工具npm 和yarn 对比

  7. POJ 1417 - True Liars - [带权并查集+DP]

    题目链接:http://poj.org/problem?id=1417 Time Limit: 1000MS Memory Limit: 10000K Description After having ...

  8. POJ 2676 - Sudoku - [蓝桥杯 数独][DFS]

    题目链接:http://poj.org/problem?id=2676 Time Limit: 2000MS Memory Limit: 65536K Description Sudoku is a ...

  9. POJ 1637 - Sightseeing tour - [最大流解决混合图欧拉回路]

    嗯,这是我上一篇文章说的那本宝典的第二题,我只想说,真TM是本宝典……做的我又痛苦又激动……(我感觉ACM的日常尽在这张表情中了) 题目链接:http://poj.org/problem?id=163 ...

  10. Oracle体系结构之控制文件的多路复用技术

    在Windows操作系统中,如果注册表文件被损坏了,就会影响操作系统的稳定性.严重的话,会导致操作系统无法正常启动.而控制文件对于Oracle数据库来说,其作用就好象是注册表一样的重要.如果控制文件出 ...