Objek atau tatasusunan Fastjson kepada JSON


Fastjson Pustaka json sumber terbuka oleh jurutera Alibaba: Fastjson Pustaka ini sangat baik dari segi kelajuan penghuraian dan kemudahan penggunaan.

Dalam penghuraian log dan penghantaran dan interaksi data bahagian hadapan dan belakang, kami sering menghadapi senario penukaran dan penghuraian bersama antara String dan peta, json, xml dan format lain Antaranya, json pada dasarnya telah menjadi standard de facto interaksi data merentas bahasa dan Format hadapan dan belakang. Perlu dikatakan bahawa terdapat sejumlah besar perpustakaan untuk menghuraikan json dalam pelbagai bahasa (untuk pengenalan kepada format json tertentu dan perpustakaan pihak ketiga, sila lihat: http://www.json.org/json- zh.html). Contohnya, python disepadukan ke dalam perpustakaan terbina dalam , ia telah menjadi API standard Hari ini kita akan bercakap tentang cara menggunakan format json dengan mudah.

Contoh berikut ialah cara menggunakan Fastjson untuk menukar objek atau tatasusunan kepada 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);  
    }  
}
hasil keluaran:


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 telah melepasi semua ujian dengan baik, dan prestasi fungsinya adalah No. 1. Saya suka kod sumbernya kualiti Ia sangat tinggi, dan pengarang juga telah berusaha keras untuk mencapai prestasi terbaik, tanpa mengatasi perpustakaan json yang lain.
Dengan fastjson kita boleh berkembang dengan cepat.