json工具类库:alibaba/fastjson使用记录

buwuliao      2022-02-08     674

关键词:

JSON工具类库: alibaba/fastjson 使用记录

一、了解JSON

JSON标准规范中文文档: http://www.json.org/json-zh.html

最佳实践:http://kimmking.github.io/2017/06/06/json-best-practice/JSON的高级使用,特别十分有参考价值

二、项目地址和Wiki:

Git地址: https://github.com/alibaba/fastjson

Wiki:https://github.com/alibaba/fastjson/wiki

FAQ:https://github.com/alibaba/fastjson/wiki/常见问题

三、主要作用和优点

主要有三个常用类:

1、JSON:序列化和反序列化的方法(parse()和toJSONString())都在这个类里

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

2、JSONObject:反序列化为对象时需要此类,同时提供对对象的操作方法

3、JSONArray:反序列化为对象数组时需要此类,同时提供对对象的操作方法

JSONObject和JSONArray的区别:可理解JSONObject用于一个对象,JSONArray用于多个对象。

四、参考:

  1. fastJson:http://www.cnblogs.com/zhenmingliu/archive/2011/12/29/2305775.html (参考)
  2. 最佳实践:http://kimmking.github.io/2017/06/06/json-best-practice/ (JSON的高级使用,很有参考价值)
  3. fastjson文档解读——上篇:http://blog.csdn.net/cqhzq2014/article/details/49512939 (主要是对类以及方法的解析,可参考,价值不大,可自行看源码理解)
  4. fastjson文档解读——下篇:http://blog.csdn.net/cqhzq2014/article/details/50117155 (主要是对类以及方法的解析,可参考,价值不大,可自行看源码理解)

9月30json工具类(代码片段)

importjava.util.List;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;publicclassJsonUtils/****将List对象序列化为JSON文本*/publicstaticStringtoJSONString(Objectobj)returnJSON.toJSONString 查看详情

alibaba/fastjson之jsonpath(代码片段)

...处理json对象非常方便。官方地址:https://github.com/alibaba/fastjson/wiki/JSONPath基本用法:https://blog.csdn.net/itguangit/article/details/787642121.JSONPath介绍fastjson1.2.0之后的版本支持JSONPath。这是一个很强大的功能 查看详情

fastjson解析错误.jsonexception:roundingnecessary

参考技术A解析报错:com.alibaba.fastjson.JSONException:Roundingnecessaryatcom.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:708)atcom.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:677)atcom.alibaba.fastjson.JSON.parseObject(JSON.j... 查看详情

fastjson

fastJson 下载地址:https://github.com/alibaba/fastjson/ fastjson主要的API哪些?fastjson入口类是com.alibaba.fastjson.JSON,主要的API是JSON.toJSONString,和parseObject。packagecom.alibaba.fastjson;publicabstractclas 查看详情

json学习整理

1:javascript对JSON的支持2:java对JSON的支持  alibaba->fastjson  封装工具类:1importcom.alibaba.fastjson.JSONObject;23publicclassJSONBuilder{4JSONObjectjson=newJSONObject();56publicJSONBuilderp 查看详情

最简单简洁高效的json数据解析

一.无图无真相二.主要代码1.导入jar包拷贝fastjson.jar包到projectlibs包下2.封装工具类JsonUtil.javapackagecom.example.parsejsondemo;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.J 查看详情

com.alibaba.fastjson.jsonexception:syntaxerror,expect[,actualintstack

com.alibaba.fastjson.JSONException:syntaxerror,expect[,actualintStacktrace: 这个json解析错误,怎么解决com.alibaba.fastjson.JSONException:syntaxerror,expect[,actualint atcom.alibaba.fastjson.parser.AbstractJSONParser.parseArray(AbstractJSONParser.java:57) atcom.alibaba.fastjson.parser.Abst... 查看详情

defaultconstructornotfound异常解决方法(代码片段)

Exceptioninthread"Thread-13"com.alibaba.fastjson.JSONException:defaultconstructornotfound.classcom.nowcoder.async.EventModel atcom.alibaba.fastjson.util.JavaBeanInfo.build(JavaBeanInfo.java:212) atcom.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:504) atco... 查看详情

fastjson常用操作

下载地址:https://github.com/alibaba/fastjsonFastjsonAPI入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。常用api如下:publicstaticfinalObjectparse(Stringtext);//把JSON文本parse为JSONObject或者JSONArraypublic 查看详情

使用fastjson进行转换

packagejunit.test;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.TypeReference;/**这里将json的转化和解析都放 查看详情

fastjson

packagecom.hanqi.test;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importorg.json.JSONException;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;public 查看详情

fastjson生成json字符串的时候出现$ref

importjava.util.ArrayList;importjava.util.List;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.serializer.SerializerFeature;/***fastjson中$ref对象重复引用问题**介绍:*FastJson提供了SerializerFeature.Disab 查看详情

转java解析多层json(代码片段)

java分别解析下面两个json字符串packagejansonDemo;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;publicclassTestJSON/***JSON实际上也是键值对("key":"value")*key必 查看详情

json

packagecom.hanqi.test;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importorg.json.JSONException;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;public 查看详情

fastjson将字符串转java对象日期序列化异常日期格式报错解决(代码片段)

异常信息 com.alibaba.fastjson.JSONException:Forinputstring:"2022-12" atcom.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:693) atcom.alibaba.fastjson.JSON.parseObject(JSON.java:395) atcom.alibaba.fastjson.JSON.parseObject(JSON.java:299) atcom.alibaba.fastjs... 查看详情

fastjson将字符串转java对象日期序列化异常日期格式报错解决(代码片段)

异常信息 com.alibaba.fastjson.JSONException:Forinputstring:"2022-12" atcom.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:693) atcom.alibaba.fastjson.JSON.parseObject(JSON.java:395) atcom.alibaba.fastjson.JSON.parseObject(JSON.java:299) atcom.alibaba.fastjs... 查看详情

小玩意-json快速克隆的另一种形式(代码片段)

起始节点-数组“[]”  起始节点-对象“”importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importcom.alibaba.fastjson.serializer.SerializerFeature;/***@author 查看详情

小玩意-json快速克隆的另一种形式(代码片段)

起始节点-数组“[]”  起始节点-对象“”importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importcom.alibaba.fastjson.serializer.SerializerFeature;/***@author 查看详情