Fastjson 객체 또는 배열을 JSON으로
Fastjson Alibaba 엔지니어가 오픈소스로 제공하는 json 라이브러리: Fastjson 이 라이브러리는 구문 분석 속도와 사용 편의성 측면에서 매우 좋습니다.
로그 구문 분석과 프런트엔드 및 백엔드 데이터 전송 상호 작용에서 문자열과 맵, json, xml 및 기타 형식의 상호 변환 및 구문 분석 시나리오를 자주 접하게 됩니다. 그중 json은 기본적으로 교차 언어, 교차 프런트엔드, 교차 엔드가 됩니다. 사실상의 표준 데이터 상호 작용 형식입니다. 다양한 언어로 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은 모든 테스트를 매우 잘 통과했으며, 기능적 성능도 1위입니다. 소스 코드 품질도 매우 높고, 작성자도 아무런 문제 없이 최고의 성능을 달성하기 위해 많은 노력을 기울였습니다. 다른 json 라이브러리를 능가합니다.
fastjson을 통해 빠르게 개발할 수 있습니다.