当前位置:首页 > Web开发 > 正文

fastjson使用详解

2024-03-31 Web开发

一、fastjson介绍

?在前后端数据传输交互中,经常会遇到字符串(String)与json,XML等格局彼此转换与解析,此中json以跨语言,跨前后真个长处在开发中被频繁使用,根基上可以说是标准的数据交换格局。fastjson 是一个java语言编写的高性能且成果完善的JSON库,它给与一种“假定有序快速匹配”的算法,把JSON Parse 的性能提升到了极致。它的接口简单易用,,已经被广泛使用在缓存序列化,协议交互,Web输出等各类应用场景中。

FastJson是啊里巴巴的的开源库,用于对JSON格局的数据进行解析和打包。

特点如下:

(1)能够撑持将java bean序列化成JSON字符串,也能够将JSON字符串反序列化成Java bean。

(2)顾名思义,fastjson操纵JSON的速度长短常快的。

(3)无其他包的依赖。

(4)使用对照便利。

二、fastjson使用

在Maven项目中使用fastjson库,需要提前在Maven的配置文件中添加此fastjson包的依赖,如pom.xml文件。

添加下面的依赖:

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <!--(起码1.2.48以上)因为这个版本一下存在缝隙--> <version>版本按照本身需要</version> </dependency>

单独操练使用的话,下载对应的jar导入项目即可.

jar下载地点:fastjson-1.2.58.jar

三、fastjson 常用 API

fastjson API 入口类是com.alibaba.fastjson.JSON,常用的序列化操纵都可以在JSON类上的静态要领直接完成。

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean调集 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格局的JSON文本 public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。 四、fastjson使用演示 测试类筹备

User类

public class User { private String username; private String password; public User(){} public User(String username,String password){ this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [username=" + username + ", password=" + password + "]"; } }

UserGroup类:这里类里面包罗User类的调集。

import java.util.ArrayList; import java.util.List; public class UserGroup { private String name; private List<User> users = new ArrayList<User>(); public UserGroup(){} public UserGroup(String name,List<User> users){ this.name = name; this.users = users; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } @Override public String toString() { return "UserGroup [name=" + name + ", users=" + users + "]"; } } 1.java类转换为json字符串 package javabasic.json; import com.alibaba.fastjson.JSON; import org.junit.Test; import java.util.ArrayList; import java.util.List; /** * @Description: fastjson API使用操练 * @Author: ggf * @Date: 2020/01/11 */ public class FastJsonTest { /** * java东西转换为json字符串 */ @Test public void objToJson() { // 简单东西转换 User user = new User("ggf","123456"); // 挪用toJSONString() String userJson = JSON.toJSONString(user); System.out.println("java类转换为json串:" + userJson); // 调集(List<E>)转json串 User user1 = new User("zhangsan", "123456"); User user2 = new User("lisi", "654321"); //创建调集存储东西 List<User> users = new ArrayList<User>(); users.add(user1); users.add(user2); // 挪用toJSONString()转换东西 String usersjson = JSON.toJSONString(users); System.out.println("调集(List<E>)转json串:" + usersjson); // 庞大java类(类中包罗调集东西)转换json串 UserGroup userGroup = new UserGroup("userGroup", users); // 挪用toJSONString()转换东西 String userGroupJson = JSON.toJSONString(userGroup); System.out.println("庞大java类(类中包罗调集东西)转换json串:" + userGroupJson); } }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31781.html