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 を使用して迅速に開発できます。