阿里的fastjson使用总结
来源:互联网 发布:win10 预装软件 编辑:程序博客网 时间:2024/06/06 14:15
jackson是spring mvc内置的json转换工具,谷歌的Gson(idea安装的GsonFormat插件就是goole的,alt+s(可以格式化json,亦可将json生成实体类)) ,阿里的FastJSON(号称是最快的JSON转换)
以下介绍阿里的fastjson的常用API:
导包com.alibaba.fastjson.JSON
1.JSON.toJSON(object)最不常用的方法,因为它返回的是Object
2.JSON.toJSONString()最为常用,可以将vo,map,list转为json格式的字符串
JSON.toJSONString(user)
JSON.toJSONString(list)
JSON.toJSONString(map)
3.反序列化:
VO vo = JSON.parseObject("jsonString", VO.class);//反序列化前需要判断jsonString,为不为"[]",即一条记录没有,没有的话,就不要反序列化了,否则fastjson会因为没有记录反序列化失败而报错.
HashMap<String,Object> hashMap = JSON.parseObject(jsonString, HashMap.class);
List<Person> list = JSON.parseArray(jsonString, Person.class);
JSON.parseArray的理解:
String jsonString = [{"name":"张三","age":"1"},{"name":"李四","age":"4"}], 通过JSON.parseArray(jsonString, Person.class);就可以将jsonString反序列化为包含多个person对象的list集合
4.fastjson过滤不要要序列化的变量,在不需要序列化的成员变量的get方法上加如下注解
@JSONField(serialize = false)
5.SpringMVC的@Responsebody注解将对象转为json,这里在成员变量的get方法加如下注解,可以改变转为json的名称
@JSONField(name = "SiteKey") //原本返回的是小写s的siteKey,加此注解后,返回的就是大写S的SiteKey
private String getSiteKey() {
return siteKey;
}
6.成员变量的set方法上的@JSONField(name = "SiteKey")注解怎么理解:
Json.parseObject(jsonString)反序列化的过程是先看成员变量的set方法有没有@JsonField(name = "")的注解,没有的话,直接找成员变量(忽略首字母大小写,即首字母是大写,也可以匹配到小写的成员变量,序列化成功)
如果有该注解,则按该注解的name(不区分单次大小写,你全大写全小写都可以反序列化成功(前提是你成员变量有这个单词))在成员变量里匹配,没匹配上的属性,就不会反序列化到实体类里
- 阿里的fastjson使用总结
- 阿里FastJson的使用
- 阿里fastjson的使用实例
- 阿里fastjson.jar使用
- 阿里的FastJson
- 阿里的 com.alibaba.fastjson的日常使用
- 阿里的fastJSON的用法
- alibaba fastjson的使用总结和心得
- alibaba fastjson的使用总结和心得
- Fastjson使用总结
- FastJson-fastjson的简单使用
- FastJson的使用方法总结
- FastJson的使用方法总结
- 来自阿里的 json 解析方案 fastjson
- 关于JSON对象的解析,以及阿里fastjson中一个API的使用
- fastjson的使用心得
- fastjson的简单使用
- fastjson 的简单使用
- hive里如何快速查看表中有多少记录数
- Git服务器基本配置使用
- 堆、栈、方法区
- IT运维与IT运营,你分清楚了吗?
- 500. Keyboard Row
- 阿里的fastjson使用总结
- 获取服务器时间
- 64. Minimum Path Sum
- [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
- Difference between physically exclusive,logically exclusive and async clock groups
- Spring框架的七大模块?你知道各个模块的功能吗?
- 欢迎使用CSDN-markdown编辑器
- marquee实现无缝滚动
- 关于A标签使用onclick事件的疑问,若是href="#",跳转无反应,以及href=#与href=javascript:void(0)的区别