fastjson总结

时间:2024-01-14 21:36:02

1,文件的转成字节数组byte[]的时候,可以直接用fastjson序列化和反序列化

2,用@RequestBody接受json的时候,content-type是否已经application/json,还有传的是不是json数据,不能再url上加parameter或者表格属性直接注入

3,简单对象

String text = JSON.toJSONString(obj); //序列化
VO vo = JSON.parseObject("{...}", VO.class); //反序列化

4,数组

        String jsonString2 = JSON.toJSONString(users);
List<User> users2 = JSON.parseArray(jsonString2, User.class);

5,复制对象,可以处理上面的数组 和 泛型

        String jsonString3 = JSON.toJSONString(users2);
List<User> users3 = JSON.parseObject(jsonString3, new TypeReference<List<User>>(){});

6,复制的泛型对象

SuccessResponse<List<ShowUserDTO>> successResponse = JSON.parseObject(resultJson, new TypeReference<SuccessResponse<List<ShowUserDTO>>>(){});

7,反射中,获得参数类型,转成json,参数有多个,所以是数组类型的

Class<?>[]  parameters = method.getParameterTypes();
{"data":[,],"param":["java.lang.Integer","java.lang.Integer"],"param2":["java.lang.Integer","java.lang.Integer"]}

8,反射中解析数组类型,传入的参数是 class[]类型,通过前面classforname来

List<Object> objectList = JSON.parseArray(JSONObject.toJSONString(myJsonDto.getData()), methodParam);

看看自己以前写得:https://www.cnblogs.com/vhyc/p/8434529.html