java中FastJson的json类型转换
JSON
Gson: 来自Google,功能全面、快速、简洁、面向对象、数据传递和解析方便。
Jackson:来源FasterXML项目,社区活跃,更新快 解析速度和效率比Gson快,但无法按需解析,必须解析所有的KEY,逐层转换。
FastJson: 来自alibaba,性能优秀,但标准性兼容性不如Jackson,对部分特殊字符无法转换,非逐层转换,所以子元素需要再次转换。
FastJson
import com.alibaba.fastjson.JSONObject;
// -> Object
Object parse(String str)
JSONObject parseObject(String str)
JSONArray parseArray(String str)
// -> bean
T parseObject(String text, Class clazz) //一个bean对象的解析生成
List parseArray(String text, Class clazz) //多个bean对象的解析生成
// bean -> json
String toJSONString(Object object)
String toJSONString(Object object, boolean prettyFormat)
Object toJSON(Object javaObject)
// json -> date
JSON.toJSONString(resultMap,SerializerFeature.WriteDateUseDateFormat);
引用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
常用类型->JSON
JSONObject object = new JSONObject();
object.put("string","string");
object.put("int",2);
object.put("boolean",true);
List<Integer> integers = Arrays.asList(1,2,3);
object.put("list",integers);
object.put("null",null);
System.out.println(object);
{"boolean":true,"string":"string","list":[1,2,3],"int":2}
JSONObject object = JSONObject.parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}");
String s = object.getString("string");
System.out.println(s); //String
int i = object.getIntValue("int");
System.out.println(i); //
boolean b = object.getBooleanValue("boolean");
System.out.println(b); //true
List<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class);
integers.forEach(System.out::println); //1 2 3
System.out.println(object.getString("null")); //null
API
public class JSONObject extends JSON implements Map<String, Object>, Cloneable, Serializable, InvocationHandler
.
java中FastJson的json类型转换的更多相关文章
- Java中net.sf.json包关于JSON与对象互转的问题
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
- Java中net.sf.json包关于JSON与对象互转的坑
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
- java中常见的json解析方法、库以及性能对比
常见的json解析有原生的JSONObject和JSONArray方法,谷歌的GSON库,阿里的fastjson,还有jackson,json-lib. Gson(项目地址:https://githu ...
- java中string与json互相转化
在Java中socket数据传输时,数据类型往往比較难选择.可能要考虑带宽.跨语言.版本号的兼容等问题. 比較常见的做法有两种:一是把对象包装成JSON字符串传输,二是採用java对象的序列化和反序列 ...
- Java中使用org.json和json-lib解析JSON
文章目录 [隐藏] 一.JavaProject中org.json解析JSON 1.JSON的org.son-api下载 1)JSON网址 2)JSON的java解析org.json-api网址 3) ...
- java中对象转json,json转list,json转map
在IDEA中的springboot项目里写的一个测试例子,新建User类,四个字段,Long id , String password,String userName,int age; 以及带参构造, ...
- JAVA中如何将一个json形式的字符串转为json对象
import java.io.*; import org.json.*; public class Demo { public static void main(String[] args) thro ...
- Java中对象和json互相转换的工具类
package com.Dingyu.util; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingExce ...
- Java中常见的json序列化类库 - Jackson
Jackson 介绍 Jackson框架是基于Java平台的一套数据处理工具,被称为"最好的Java Json解析器". Jackson框架包含了3个核心库:streaming,d ...
随机推荐
- Swoole开启守护进程后如何关闭
查找相应端口号对应的PID(以我的为例,我的是9501端口) netstat -apn | 清除这个进程 启动客户端这时就会报错连不上了,证明服务已关
- redis为什么使用单线程 ,还那么快,单线程是怎么实现的
单线程使用队列 为什么使用单线程 https://baijiahao.baidu.com/s?id=1628498089535886382&wfr=spider&for=pc http ...
- Qt设置生成的exe文件图标
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_37354286/article/d ...
- svn 介绍及linux下常用操作命令
1.概念 truck(主干|主线|主分支):是用来做主方向开发的,新功能的开发应放在主线中,当模块开发完成后,需要修改,就用branch. branch(分支):分支开发和主线开发是可以同时进行的,也 ...
- 牛客练习赛26B 烟花 (概率DP)
链接:https://ac.nowcoder.com/acm/contest/180/B 来源:牛客网 烟花 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5 ...
- LCA统计
读入挂 inline void read(int &v) { v = ; ; ; ') { if (c == '-') { p = -; } c = getchar(); } ') { v = ...
- java http httpclient
HttpClient post get 洗衣店 微信扫码支付
- 502 bad gateway nginx 的错误的解决方案
总结 一般是php问题居多,也需要调整相应的nginx参数,最后也可能是mysql假死 nginx问题 查看日志中的报错error.log一般设置路径/usr/local/nginx/logs/ngi ...
- SpringBoot之模板引擎
一.Thymeleaf 1.1 集成 templates 在 pom.xml 文件中添加依赖 <dependencies> ...... <dependency> <gr ...
- Taro 压缩图片api
Taro API里面没有写支持compressImage,ts提示也是,开发者工具提示暂时不支持此API调试,请使用真机进行开发.这是因为Taro这个库没有把新的api加上,其实还是调用了wx.com ...