FASTJSON v2是FASTJSON项目的重要升级,目标是为下一个十年提供一个高性能的JSON库。通过同一套API,
JSON/JSONB两种协议,JsonPath 是一等公民。Java服务端、客户端Android、大数据场景。KotlinJSON SchemaAndroidGraal Native-Image 在fastjson v2中,groupId和1.x不一样,是com.alibaba.fastjson2
-
com.alibaba.fastjson2 -
fastjson2 -
2.0.19
可以在 maven.org 查看最新可用的版本。
Fastjson v1兼容模块如果原来使用fastjson 1.2.x版本,可以使用兼容包,兼容包不能保证100%兼容
-
com.alibaba -
fastjson -
2.0.19
Fastjson Kotlin集成模块如果项目使用Kotlin,可以使用fastjson-kotlin模块,使用方式上采用kotlin的特性。
-
com.alibaba.fastjson2 -
fastjson2-kotlin -
2.0.19
Fastjson Extension扩展模块如果项目使用SpringFramework等框架,可以使用fastjson-extension模块,使用方式参考 SpringFramework Support。
-
com.alibaba.fastjson2 -
fastjson2-extension -
2.0.19
在fastjson v2中,package和1.x不一样,是com.alibaba.fastjson2。如果你之前用的是fastjson1,大多数情况直接更包名就即可。
-
- @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;
- }
- }
- @Test
- public void test01() {
- //TODO 这块儿很奇特,对象转JSON 我填写了用单引号,但是ID属性还是输出的双引号
- String json = "{\"id\":23,'userName':'张三'}";
- UserModel userModel = JSON.parseObject(json, UserModel.class);
- }
JSON解析为JSONObject- @Test
- public void test03(){
- String json = "{\"id\":23,'userName':'张三'}";
- JSONObject data = JSON.parseObject(json);
- System.out.println(data.get("id"));
- }
JSON解析为JSONArray- String text = "...";
- JSONArray data = JSON.parseArray(text);
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);
后续补充。。。。