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]}
cloudcone经常性有特价促销VPS放出来,每次的数量都是相当有限的,为了方便、及时帮助大家,主机测评这里就做这个cloudcone特价VPS补货专题吧,以后每次放货我会在这里更新一下日期,方便大家秒杀!官方网站:https://cloudcone.com/预交费模式,需要充值之后方可使用,系统自动扣费!信用卡、PayPal、支付宝,均可付款购买!为什么说cloudcone值得买?cloudc...
提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...
RAKsmart 商家估摸着前段时间服务器囤货较多,这两个月的促销活动好像有点针对独立服务器。前面才整理到七月份的服务器活动在有一些配置上比上个月折扣力度是大很多,而且今天看到再来部分的服务器首月半价,一般这样的促销有可能是商家库存充裕。比如近期有一些服务商挖矿服务器销售不好,也都会采用这些策略,就好比电脑硬件最近也有下降。不管如何,我们选择服务器或者VPS主机要本着符合自己需求,如果业务不需要,...
fastjson为你推荐
msn邮箱后缀所有后缀是hotmail.com的邮箱都是MSN吗msn邮箱后缀MSN可加哪几种后缀的email?微软将停止支持32位Win10系统win10 64位怎么兼容32位电梯物联网平台国内物联网公司排名,知道的帅哥美女快来回答哦!谢谢了!智能公共广播系统公共广播系统的品牌都有哪些??nero教程NERO怎么使用?罗振宇2017跨年演讲第五届“时间的朋友”跨年演讲关键词:基本盘,什么叫“基本盘”?联通玩电信游戏关于联通到底能不能去电信区玩游戏。。。。联通玩电信游戏我朋友是联通的网,想玩电信的游戏但是发现都很卡pps电影pps电影下载 pps影音下载 pps最新版下载
100m虚拟主机 老鹰主机 韩国电信 ubuntu更新源 警告本网站美国保护 免空 php空间推荐 100mbps t云 php服务器 德讯 杭州电信宽带优惠 服务器防御 新疆服务器 碳云 2016黑色星期五 nic 压力测试工具 ddos攻击器下载 lighttpdwindows 更多