fastjson常用操作

赶路人儿 赶路人儿     2022-11-28     139

关键词:

下载地址:https://github.com/alibaba/fastjson

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。常用api如下:

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。


还有一些其他类库:

SerializeWriter:相当于StringBuffer
JSONArray:相当于List<Object>
JSONObject:相当于Map<String, Object>


1、JSON测试:

public class Test  
private static SerializeConfig mapping = new SerializeConfig(); static
mapping.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));


public static void main(String[] args)
Foo f1 = new Foo();
Date date = new Date();
String text = JSON.toJSONString(date, mapping);
System.out.println(text);
System.out.println(JSON.toJSONString(f1, true));
String x2 =JSON.toJSONString(f1, mapping);
System.out.println(x2);


public static void json2List()
//List -> JSON array
List<Bar> barList = new ArrayList<Bar>();
barList.add(new Bar());
barList.add(new Bar());
barList.add(new Bar());
String json= JSON.toJSONString(barList, true);
System.out.println(json);
//JSON array -> List
List<Bar> barList1 = JSON.parseArray(json,Bar.class);
for (Bar bar : barList1)
System.out.println(bar.toString());



public static void json2Map()
//Map -> JSON
Map<String,Bar> map = new HashMap<String, Bar>();
map.put("a",new Bar());
map.put("b",new Bar());
map.put("c",new Bar());
String json = JSON.toJSONString(map,true);
System.out.println(json);
//JSON -> Map
Map<String,Bar> map1 = (Map<String,Bar>)JSON.parse(json);
for (String key : map1.keySet())
System.out.println(key+":"+map1.get(key));



public static void array2JSON()
String[] arr_String = "a","b","c";
String json_arr_String = JSON.toJSONString(arr_String,true);
System.out.println(json_arr_String);
JSONArray jsonArray = JSON.parseArray(json_arr_String);
for (Object o : jsonArray)
System.out.println(o);

System.out.println(jsonArray);

public static void array2JSON2()
Bar[] arr_Bar = new Bar(),new Bar(),new Bar();
String json_arr_Bar = JSON.toJSONString(arr_Bar,true);
System.out.println(json_arr_Bar);
查看详情

fastjson

FastjsonAPI入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。public static final Objectparse(Stringtext); //把JSON文本parse为JSONObject或者JSONArray public static  查看详情

fastjson的常用方法

/***解析对象形式的json字符串*/publicstaticvoidtest1(){StringjsonStr="{"JACKIE_ZHANG":"张学友","ANDY_LAU":"刘德华","LIMING":"黎明","Aaron_Kwok":"郭富城"}";JSONObjectjsonObject=JSONObject.parseObject(jsonStr 查看详情

fastjson的常用使用方法

packageDemo;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Vector;importcom.alibaba.fastjson.JSON;importcom.alib 查看详情

fastjson的常用用法以及自定义排序

fastJson的四种常用方法JSON转POJOpublicstatic<T>TgetObject(Stringpojo,Class<T>tclass){returnJSONObject.parseObject(pojo,tclass);}POJO转JSONpublicstatic<T>StringgetJson(TtResponse){returnJSONOb 查看详情

fastjson中对象转换中看到的一些现象(代码片段)

...一看代码如下:JSON.parseObject(value,List.class)这里使用了fastjson,但是这里一看就看的出来,使用的不是很流畅。先讲讲fastjson什么是fastjsonfastjson是阿里开源的一个json操作库。从名字就可以看出来。它支持json和java对象类... 查看详情

fastjson中对象转换中看到的一些现象(代码片段)

...一看代码如下:JSON.parseObject(value,List.class)这里使用了fastjson,但是这里一看就看的出来,使用的不是很流畅。先讲讲fastjson什么是fastjsonfastjson是阿里开源的一个json操作库。从名字就可以看出来。它支持json和java对象类... 查看详情

常用fastjson的serializerfeature特性及日期转换格式

SerializerFeature.PrettyFormat:格式化输出SerializerFeature.WriteMapNullValue:是否输出值为null的字段,默认为falseSerializerFeature.DisableCircularReferenceDetect:消除循环引用SerializerFeature.WriteNullStringAsEmpty:将为null的字段值 查看详情

fastjson中jsonobject用法及常用方法总结(代码片段)

最近一直有用到解析各种数据,主要是用FastJson进行数据解析,其中一个重要的类为JSONObject,今天有时间,所以进行总结一下:JSONobject是FastJson提供的对象,在api中是用一个私有的常量map进行封装的,实际就是一个map,只不过Fas... 查看详情

fastjson使用详解(代码片段)

目录一、fastjson介绍二、fastjson使用三、fastjson常用API四、fastjson使用演示测试类准备1.java类转换为json字符串2.json字符串转为java类五、fastjson实际开发应用1.对复杂的json串转为java类2.对json串的操作六、fastjson漏洞问题一、fastjson介... 查看详情

fastjson中jsonobject用法及常用方法总结(代码片段)

最近一直有用到解析各种数据,主要是用FastJson进行数据解析,其中一个重要的类为JSONObject,今天有时间,所以进行总结一下:JSONobject是FastJson提供的对象,在api中是用一个私有的常量map进行封装的,实际就是一个map,只不过Fas... 查看详情

json小结和fastjson包的实际json操作

工作中,需要处理与另一方系统数据交换的问题,采用的是调用远程接口的方法,数据格式选择的是json,今天就来聊一聊json,主要分析json数据和javaBean之间的转换问题。一、json是什么json,全称是JavaScript ObjectNotation,中文... 查看详情

json_常用类json与对象的互相转换typereference泛型遇到的坑(代码片段)

文章目录①.fastJson-常用类②.定义-JSON格式③.简单对象与JSON转换④.数组类型与JSONArray⑤.复杂json格式转换⑥.JSON与javaBean转换⑦.TypeReference泛型⑧.JSON.toJSONString的坑①.fastJson-常用类①.fastJson对于json格式字符串的解析主要用到了一... 查看详情

json_常用类json与对象的互相转换typereference泛型遇到的坑(代码片段)

文章目录①.fastJson-常用类②.定义-JSON格式③.简单对象与JSON转换④.数组类型与JSONArray⑤.复杂json格式转换⑥.JSON与javaBean转换⑦.TypeReference泛型⑧.JSON.toJSONString的坑①.fastJson-常用类①.fastJson对于json格式字符串的解析主要用到了一... 查看详情

常用资源下载地址

JDK1.6下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html;fastjson下载地址:http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.39/ 查看详情

常用资源下载地址

JDK1.6下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html;fastjson下载地址:http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.39/ 查看详情

android原生json和fastjson的简单使用

 android原生操作json数据主要是两个类JSONObject操作对象  JONSArray操作json数组 对象转json1  //创建学生对象2Studentstudent=newStudent();3student.setAge(23);4student.setClazz("六年级");5student.setName("王二麻子");6//创建 查看详情

fastjson序列化时过滤字段(属性)的方法总结(代码片段)

FastJson序列化时(即转成JSON字符串时),可以过滤掉部分字段,或者只保留部分字段,方法有很多,下面举一些常用的方法。方法一、FastJson的注解@JSONField(serialize=false)privateStringname;  最便捷,... 查看详情