fastjson怎么查看版本?Fastjson有哪些特性?

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工具网。

推荐阅读:

intellij idea怎么新建项目?intellij idea新建项目教程

mysql有哪些面试题?mysql面试必会6题经典

java实战项目在哪里找?怎么学java?