FastJson使用

FastJson对于json格式字符串的解析主要用到了下面三个类:

JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换
JSONObject:fastJson提供的json对象
JSONArray:fastJson提供json数组对象
三者继承关系如下:

复制代码
public abstract class JSON implements JSONStreamAware, JSONAware {…}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public class JSONArray extends JSON implements List, Cloneable, RandomAccess, Serializable {
private static final long serialVersionUID = 1L;
private final List list;
protected transient Object relatedArray;
protected transient Type componentType;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public class JSONObject extends JSON implements Map<String, Object>, Cloneable, Serializable, InvocationHandler {
private static final long serialVersionUID = 1L;
private static final int DEFAULT_INITIAL_CAPACITY = 16;
private final Map<String, Object> map;
复制代码
1、引入依赖

复制代码

com.alibaba fastjson 1.2.51//选择合适版本即可 复制代码 2、常用方法

复制代码
抽象类JSON中的常用方法(部分):
public static Object parse(String text);//将字符串解析为对象
public static JSONArray parseArray(String text);//将字符串解析为JSONArray
public static List parseArray(String text, Class clazz);//将字符串解析为List
public static List parseArray(String text, Type[] types);//将字符串解析为List
public static T parseObject(String text, Class clazz);//将字符串解析为对象
public static JSONObject parseObject(String text)//将字符串解析为JSONObeject
public static Object toJSON(Object javaObject)//
public static String toJSONString(Object object)//将对象转换为JSONString

类JSONObject中的常用方法(部分):
public boolean containsKey(Object key)//是否包含指定对象Key,返回布尔值
public boolean containsValue(Object value)//是否包含指定对象Value,返回布尔值
public Object get(Object key)//通过对象Key,返回对象
public Boolean getBoolean(String key)//通过字符串Key,返回布尔值
public int getIntValue(String key)//通过指定字符串Key,返回int
public JSONArray getJSONArray(String key)//通过指定字符串Key,返回JSONArray
public JSONObject getJSONObject(String key)//通过指定字符串Key,返回JSONObject
public T getObject(String key, Class clazz)//通过指定字符串Key和类对象,返回指定的对象

类JSONArray中的常用方法(部分):
public boolean add(Object e)//添加指定对象,添加成功返回true,否则返回false
public boolean contains(Object o)//是否包含指定对象,包含返回true,不包含返回false
public Object get(int index)//通过索引返回对象
public Boolean getBoolean(int index)//通过索引返回布尔值
public Long getLong(int index)//通过索引返回Long
public JSONObject getJSONObject(int index)//通过索引返回JSONObject
public Object remove(int index)//通过索引删除指定对象,并返回删除的对象
public Object set(int index, Object element)//设置指定索引的元素,返回原有对象
public int size() //返回JSONArray的大小
复制代码
实例代码可抽取为简单工具类FastJsonUtils

复制代码
package edu.tyut;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

import java.util.List;
import java.util.Map;

/**

  • FastJson工具类
    */
    public class FastJsonUtils {

    /**

    • 功能描述:把JSON数据转换成指定的java对象
    • @param jsonData JSON数据
    • @param clazz 指定的java对象
    • @return 指定的java对象
      */
      public static T getJsonToBean(String jsonData, Class clazz) {
      return JSON.parseObject(jsonData, clazz);
      }

    /**

    • 功能描述:把java对象转换成JSON数据
    • @param object java对象
    • @return JSON数据
      */
      public static String getBeanToJson(Object object) {
      return JSON.toJSONString(object);
      }

    /**

    • 功能描述:把JSON数据转换成指定java对象的List
    • @param jsonData JSON数据
    • @param clazz 指定的java对象
    • @return List
      */
      public static List getJsonToList(String jsonData, Class clazz) {
      return JSON.parseArray(jsonData, clazz);
      }

    /**

    • 功能描述:把JSON数据转换成较为复杂的List<Map<String, Object>>
    • @param jsonData JSON数据
    • @return List<Map<String, Object>>
      */
      public static List<Map<String, Object>> getJsonToListMap(String jsonData) {
      return JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() {
      });
      }
      }
      深圳网站建设www.sz886.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值