FastJson的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FastJson的使用相关的知识,希望对你有一定的参考价值。

FastJson

FastJson:阿里巴巴的一个Json处理工具包,包括序列化和反序列化两部分。

1.序列化:将java各种对象转化为json串。

   序列化入口:使用JSON.toJSONString()这个静态方法来实现序列化

2.反序列化:将json串转换为对应的java对象

  反序列化入口:parse()/parseObject()/parseArray()等将json串转换为java对象的静态方法。3.import com.alibaba.fastjson.JSON;

3.Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON

1 import com.alibaba.fastjson.JSON;
2 public static final Object parse(String text); //把JSON文本parse为JSONObject或者JSONArray
3 public static final JSONObject parseObject(String text);//把JSON文本parse成JSONObject
4 public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
5 public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
6 public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
7 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
8 public static final String toJSONString(Object object, boolean prettyFormat); //将JavaBean序列化为带格式的JSON文本
9 public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。

4.JSONObject与JSONArray和Map

(1)JSONObject

    json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}

   Json对象中添加的是键值对

JSONObject Json = new JSONObject();    
Json.put("key", "value");//JSONObject对象中添加键值对  

(2)JSONArray

    json数组,使用中括号[],只不过数组里面的项也是json键值对格式的

   JSONArray中添加的是Json对象

JSONArray JsonArray = new JSONArray();  
JsonArray.add(Json);//将JSONObject对象添加到Json数组中  

(3)Map

MapJSONObject都是键值对,不同的是map中键值对中间用逗号分开,json中键值对中间用冒号分开。其实json就是一种特殊形式的map

 

 

以上是关于FastJson的使用的主要内容,如果未能解决你的问题,请参考以下文章

FastJson反序列化漏洞(实验文章)

复杂json怎么使用fastjson一次性提取出来

复杂json怎么使用fastjson一次性提取出来

Fastjson反序列化漏洞预警

Fastjson 反序列化 Jndi 注入利用 JdbcRowSetImpl 链

Fastjson 反序列化 Jndi 注入利用 JdbcRowSetImpl 链