Fastjson オブジェクトまたは配列を JSON に変換


Fastjson Alibaba エンジニアによってオープンソース化された json ライブラリ: Fastjson. このライブラリは、解析速度と使いやすさの点で非常に優れています。

ログ解析やフロントエンドとバックエンドのデータ送信のやりとりでは、Stringとmap、json、xmlなどの形式間の相互変換や解析のシナリオによく遭遇します。クロス言語、クロスフロントエンド、クロスエンドの事実上の標準データ対話形式。さまざまな言語で json を解析するためのライブラリが多数あると言うべきです (特定の json 形式とサードパーティ ライブラリの概要については、http://www.json.org/json- を参照してください)。 zh.html). たとえば、Python は組み込みライブラリに統合されており、標準 API となっていますが、今日は Java で json 形式を便利に使用する方法について説明します。

次の例は、Fastjson を使用してオブジェクトまたは配列を JSON に変換する方法です。

package test;  
  
import java.util.ArrayList;  
import java.util.List;  
  
import com.alibaba.fastjson.JSON;  
  
class User {  
    private String name;  
    private int age;  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public int getAge() {  
        return age;  
    }  
  
    public void setAge(int age) {  
        this.age = age;  
    }  
  
    @Override  
    public String toString() {  
        return "User [name=" + name + ", age=" + age + "]";  
    }  
};  
  
class UserGroup {  
    private String name;  
    private List<User> users = new ArrayList<User>();  
  
    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 + "]";  
    }  
}  
  
class FastJsonTest {  
    public static void main(String[] args) {  
        // 构建用户geust  
        User guestUser = new User();  
        guestUser.setName("guest");  
        guestUser.setAge(28);  
        // 构建用户root  
        User rootUser = new User();  
        rootUser.setName("root");  
        guestUser.setAge(35);  
        // 构建用户组对象  
        UserGroup group = new UserGroup();  
        group.setName("admin");  
        group.getUsers().add(guestUser);  
        group.getUsers().add(rootUser);  
        // 用户组对象转JSON串  
        String jsonString = JSON.toJSONString(group);  
        System.out.println("jsonString:" + jsonString);  
        // JSON串转用户组对象  
        UserGroup group2 = JSON.parseObject(jsonString, UserGroup.class);  
        System.out.println("group2:" + group2);  
  
        // 构建用户对象数组  
        User[] users = new User[2];  
        users[0] = guestUser;  
        users[1] = rootUser;  
        // 用户对象数组转JSON串  
        String jsonString2 = JSON.toJSONString(users);  
        System.out.println("jsonString2:" + jsonString2);  
        // JSON串转用户对象列表  
        List<User> users2 = JSON.parseArray(jsonString2, User.class);  
        System.out.println("users2:" + users2);  
    }  
}
出力結果:


jsonString:{"name":"admin","users":[{"age":35,"name":"guest"},{"age":0,"name":"root"}]}  
group2:UserGroup [name=admin, users=[User [name=guest, age=35], User [name=root, age=0]]]  
jsonString2:[{"age":35,"name":"guest"},{"age":0,"name":"root"}]  
users2:[User [name=guest, age=35], User [name=root, age=0]]
fastjson はすべてを渡しました。テストは非常に良く、機能もパフォーマンスも No.1 です。気に入っています。ソースコードの品質は非常に高く、作者も他の JSON ライブラリを超えることなく最高のパフォーマンスを達成するために多大な労力を費やしました。
fastjson を使用して迅速に開発できます。