fastjsonfastjson怎样json转换成字符串
fastjson 时间:2021-07-30 阅读:(
)
fastjson怎么解析像“
1. fastjson生成和解析json数据
(举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<Map<String,Object>)
2.通过一个android程序测试fastjson的用法。
fastjson简介:
Fastjson是一个Java语言编写的高性能功能完善的JSON库。
fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。
并且还超越了google的二进制协议protocol buf。
Fastjson完全支持的标准,也是官方网站收录的参考实现之一。
支持各种JDK类型。
包括基本类型、JavaBean、Collection、Map、Enum、泛型等。
支持JDK 5、JDK 6、Android、阿里云手机等环境。
一. fastjson生成json字符串(JavaBean,List<JavaBean>,List<String>,List<Map<String,Object>)
String jsonStrng = JSON.toJSONString(object);
二. fastjson 解析json字符串为四种类型
1. JavaBean
Person person = JSON.parseObject(jsonString, Person.class);
2. List<JavaBean>
List<Person> listPerson =JSON.parseArray(jsonString, Person.class);
3. List<String>
List<String> listString = JSON.parseArray(jsonString, String.class);
4. List<Map<String,Object>>
List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){}); (注意:此处可看出fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果 为 id =1001.0Fastjson究竟有多快
Fastjson超越了protobuf,可以当之无愧fast! 它比java deserialize快超过30多倍,比json-lib快100倍。
由于Fastjson的存在,你可以放心使用json统一协议,达到文本协议的可维护性,二进制协议的性能。
JSON处理主要包括两个部分,serialize和deserialize。
serialize就是把Java对象变成JSON String或者JSON Bytes。
Deserialize是把JSON String或者Json Bytes变成java对象。
其实这个过程有些JSON库是分三部分的,json string <--> json tree <--> java object。
Fastjson也支持这种转换方式,但是这种转换方式因为有多余的步骤,性能不好,不推荐使用。
fastjson是怎么实现JSON的序列化和反序列化的
反序列化函数
· parseObject
-将 json字符串 反序列化为 java.class
@sherineZJU
List<T> temp= JSON.parseObject(fastjson,T.class);
//transform the json to T123123
-fastjson 为 json格式的字符串(String类型)
-T 为 与 json格式对应的 自定义 java.class。
· parseObject
-将 json字符串 反序列化为 java.util.List
@sherineZJU
List<T> oldk = JSONArray.parseArray(fastjson,T.class);
//transform the json to List<T>123123
-fastjson 为 json格式的字符串(String类型)
-List< T> 为 与 json格式对应的 自定义 java.util.List。
java.class 与 json字符串 的对应关系
注意 json字符串 的关键字一定要与 java.class 中的对应变量名相同。
fastjson怎样json转换成字符串
// jackson
private static ObjectMapper om = new ObjectMapper ();
public static String objectToString (Object obj ) throws IOException{
return om.writeValueAsString (obj );
}
@Test
public void test1 () throws IOException {
Map<String, Object> map = new HashMap<String, Object>();
Map<String, String> map2 = new HashMap<String, String>();
map2.put ("name", "1");
map2.put ("age", "12");
map.put ("att", map2 );
List<String> list = new ArrayList<String>();
list.add ("hi");list.add ("hello");
map.put ("list", list );
List<Map<String, String>> confuselist = new ArrayList<Map<String, String>>();
Map<String, String> map3 = new HashMap<String, String>();
map3.put ("name", "1");
map3.put ("age", "12");
confuselist.add (map3 );
confuselist.add (map2 );
map.put ("confuselist", confuselist );
Object array = Array.newInstance (String.class, 10 );
Array.set (array, 0, "a");
Array.set (array, 1, "b");
Array.set (array, 2, "c");
map.put ("array", array );
// 使用 jackson
System.out.println (objectToString (map ));
// 使用 fastJson
System.out.println (JSON.toJSONString (map ));
}
输出:
{"att":{"age":"12","name":"1"},"list":["hi","hello"],"confuselist":[{"age":"12","name":"1"}, {"age":"12","name":"1"}],"array":["a","b","c",null,null,null,null,null,null,null]}
{"att":{"age":"12","name":"1"},"list":["hi","hello"],"confuselist":[{"age":"12","name":"1"},{"$ref":"$.att"}],"array":["a","b","c",null,null,null,null,null,null,null]}
pigyun怎么样?PIGYun成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,期待我们携手共进、互利共赢。PIGYun为您提供:香港CN2线路、韩国CN2线路、美西CUVIP-9929线路优质IaaS服务。月付另有通用循环优惠码:PIGYun,获取8折循环优惠(永久有效)。目前,PIGYun提供的香港cn2云服务器仅29元/月起;韩国cn2云服务器仅22元/月起;美国CUVI...
? ? ? ?创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川联通大带宽,四川联通高防IP,一手整CIP段,四川电信,联通高防机柜,CN2专线相关业务。成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快...
今天获得消息,vdsina上了AMD EPYC系列的VDS,性价比比较高,站长弄了一个,盲猜CPU是AMD EPYC 7B12(经过咨询,详细CPU型号是“EPYC 7742”)。vdsina,俄罗斯公司,2014年开始运作至今,在售卖多类型VPS和独立服务器,可供选择的有俄罗斯莫斯科datapro和荷兰Serverius数据中心。付款比较麻烦:信用卡、webmoney、比特币,不支持PayPal...
fastjson为你推荐
空间背景音乐播放器QQ空间背景音乐播放器怎么用?电量监控有哪些可以查看手机电池损耗度的appmagento模板magento1.9主题开发用哪个模板为基础好?dnf客户端消失最近DNF玩着玩着客户端忽然无故消失,怎么回事微信语音在哪个文件夹微信语音在哪个文件夹 微信语音导出及amr格式转换做视频的免费软件有没有免费做视频的软件 汉化的做视频的免费软件求有哪种视频制作软件是全免费的啊?微服务网关如何使用 spring boot&47;spring cloud 实现微服务应用3d视频制作有什么软件可以容易制作3D视频大学生社团网入社团自我评价怎么写
最便宜的vps 花生壳免费域名 google镜像 表单样式 英语简历模板word 云图标 建站代码 合肥鹏博士 域名转向 电子邮件服务器 泉州电信 可外链相册 免费全能主机 t云 web服务器安全 卡巴斯基免费试用版 超级服务器 优酷黄金会员账号共享 宏讯 我的世界服务器ip 更多