fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,目前已经被广泛应用在各种场景中,那fastjson想查看版本怎么操作?下面来我们就来给大家讲解一下。
看Maven的pom.xml配置文件<artifactId>fastjson</artifactId>
<version>1.2.13</version>
Fastjson有哪些特性?
提供服务器端、安卓客户端两种解析工具,性能表现较好。
提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。
允许转换预先存在的无法修改的对象(只有class、无源代码)。
Java泛型的广泛支持。
允许对象的自定义表示、允许自定义序列化类。
支持任意复杂对象(具有深厚的继承层次和广泛使用的泛型类型)。
fastjson 使用实例
java对象与JSON字符串的互转
User测试类
/** * User测试类 * @author dmego */ 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测试类
import java.util.ArrayList; import java.util.List; /** * 用户组测试类 * @author dmego * */ public class UserGroup { private String name; private Listusers = new ArrayList(); public UserGroup() {} public UserGroup(String name, Listusers) { this.name = name; this.users = users; } public String getName() { return name; } public void setName(String name) { this.name = name; } public ListgetUsers() { return users; } public void setUsers(Listusers) { this.users = users; } @Override public String toString() { return "UserGroup [name=" + name + ", users=" + users + "]"; } }
fastJson测试类
package demo;import java.util.ArrayList;import java.util.List;import org.junit.Test;import com.alibaba.fastjson.JSON;
/** * fastJson测试类 * @author dmego * */ public class TestFastJosn { /** * java对象转 json字符串 */ @Test public void objectTOJson() { //简单java类转json字符串 User user = new User("dmego", "123456"); String UserJson = JSON.toJSONString(user); System.out.println("简单java类转json字符串:" + UserJson); //List 转json字符串 User user1 = new User("zhangsan", "123123"); User user2 = new User("lisi", "321321"); Listusers = new ArrayList(); users.add(user1); users.add(user2); String ListUserJson = JSON.toJSONString(users); System.out.println("List转json字符串:" + ListUserJson); //复杂java类转json字符串 UserGroup userGroup = new UserGroup("userGroup", users); String userGroupJson = JSON.toJSONString(userGroup); System.out.println("复杂java类转json字符串:" + userGroupJson); } /** * json字符串转java对象 * 注:字符串中使用双引号需要转义 (" --> \"),这里使用的是单引号 */ @Test public void JsonTOObject() { /* json字符串转简单java对象 * 字符串:{"password":"123456","username":"dmego"}*/ String jsonStr1 = "{'password':'123456','username':'dmego'}"; User user = JSON.parseObject(jsonStr1, User.class); System.out.println("json字符串转简单java对象:" + user.toString()); /* * json字符串转List对象 * 字符串:[{"password":"123123","username":"zhangsan"},{"password":"321321","username":"lisi"}] */ String jsonStr2 = "[{'password':'123123','username':'zhangsan'},{'password':'321321','username':'lisi'}]"; Listusers = JSON.parseArray(jsonStr2, User.class); System.out.println("json字符串转List对象:" + users.toString()); /*json字符串转复杂java对象 * 字符串:{"name":"userGroup","users":[{"password":"123123","username":"zhangsan"},{"password":"321321","username":"lisi"}]} * */ String jsonStr3 = "{'name':'userGroup','users':[{'password':'123123','username':'zhangsan'},{'password':'321321','username':'lisi'}]}"; UserGroup userGroup = JSON.parseObject(jsonStr3, UserGroup.class); System.out.println("json字符串转复杂java对象:" + userGroup); } }
输出结果
简单java类转json字符串: { "password": "123456" , "username": "dmego" } List转json字符串: [ { "password": "123123" , "username": "zhangsan" } , { "password": "321321" , "username": "lisi" }] 复杂java类转json字符串: { "name": "userGroup" , "users": [ { "password": "123123" , "username": "zhangsan" } , { "password": "321321" , "username": "lisi" }] } json字符串转简单java对象: User[username = dmego, password = 123456] json字符串转List对象: [User[username = zhangsan, password = 123123], User[username = lisi, password = 321321]] json字符串转复杂java对象: UserGroup[name = userGroup, users = [User[username = zhangsan, password = 123123], U
Fastjson目前已经被广泛应用在各种场景中,在实际操作中还是很重要的,作为程序员一定要知道其使用方法。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: