FASTJSON 2.0介绍
FASTJSON v2
是FASTJSON
项目的重要升级,目标是为下一个十年提供一个高性能的JSON
库。通过同一套API
,
- 支持
JSON/JSONB
两种协议,JsonPath 是一等公民。 - 支持全量解析和部分解析。
- 支持
Java
服务端、客户端Android
、大数据场景。 - 支持
Kotlin
- 支持
JSON Schema
- 支持
Android
- 支持
Graal Native-Image
1、使用准备
1.1、添加依赖
在fastjson v2
中,groupId
和1.x
不一样,是com.alibaba.fastjson2
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.19</version>
</dependency>
可以在 maven.org 查看最新可用的版本。
1.2、其他模块
Fastjson v1
兼容模块
如果原来使用fastjson 1.2.x
版本,可以使用兼容包,兼容包不能保证100%兼容
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.19</version>
</dependency>
Fastjson Kotlin
集成模块
如果项目使用Kotlin
,可以使用fastjson-kotlin
模块,使用方式上采用kotlin
的特性。
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-kotlin</artifactId>
<version>2.0.19</version>
</dependency>
Fastjson Extension
扩展模块
如果项目使用SpringFramework
等框架,可以使用fastjson-extension
模块,使用方式参考 SpringFramework Support。
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-extension</artifactId>
<version>2.0.19</version>
</dependency>
2、使用
在fastjson v2
中,package
和1.x
不一样,是com.alibaba.fastjson2
。如果你之前用的是fastjson1
,大多数情况直接更包名就即可。文章来源:https://www.toymoban.com/news/detail-454522.html
2.1、对象转JSON
@Test
public void test02(){
UserModel userModel = new UserModel();
userModel.setId(23L);
userModel.setUserName("张三");
System.out.println(JSON.toJSONString(userModel, JSONWriter.Feature.UseSingleQuotes));
//结果:{"id":23,'userName':'张三'}
}
class UserModel {
private Long id;
private String userName;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
2.2 、JSON转对象
@Test
public void test01() {
//TODO 这块儿很奇特,对象转JSON 我填写了用单引号,但是ID属性还是输出的双引号
String json = "{\"id\":23,'userName':'张三'}";
UserModel userModel = JSON.parseObject(json, UserModel.class);
}
2.3、 将JSON解析为JSONObject
@Test
public void test03(){
String json = "{\"id\":23,'userName':'张三'}";
JSONObject data = JSON.parseObject(json);
System.out.println(data.get("id"));
}
2.4、将JSON解析为JSONArray
String text = "...";
JSONArray data = JSON.parseArray(text);
2.5、使用JSONObject、JSONArray
String text = "{\"id\": 2,\"name\": \"fastjson2\"}";
JSONObject obj = JSON.parseObject(text);
int id = obj.getIntValue("id");
String name = obj.getString("name");
String text = "[2, \"fastjson2\"]";
JSONArray array = JSON.parseArray(text);
int id = array.getIntValue(0);
String name = array.getString(1);
JSONArray array = ...
JSONObject obj = ...
User user = array.getObject(0, User.class);
User user = obj.getObject("key", User.class);
后续补充。。。。文章来源地址https://www.toymoban.com/news/detail-454522.html
到了这里,关于FastJson2.0介绍和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!