고성능 JSON 프레임워크의FastJson의 간단한 사용
1.1.FastJson 소개:
JSON 프로토콜의 사용이 편리하고 점점 유행하고 있습니다. JSON의 프로세서가 많습니다. 여기서 제가 FastJson을 소개하겠습니다. FastJson은 아리의 기원 프레임워크로 많은 기업에서 사용되고 매우 우수한 Json 프레임워크입니다. Github 주소: FastJson
1.2.FastJson의 특징:
1.FastJson 수량이 빠르고 서열화와 반서열화를 막론하고 모두 부끄럽지 않은fast2.강력한 기능(JDK 클래스에는 Java Bean Class, Collection, Map, Date 또는 enum이 모두 포함됨) 3.제로 의존 (다른 라이브러리에 의존하지 않음)
1.3.FastJson에 대한 간단한 설명:
FastJson은 json 형식 문자열에 대한 해석에 주로 다음과 같은 세 가지 종류를 사용했다.JSON:fastJson의 해상도, JSON 형식 문자열과 JSON 대상 및javaBean 사이의 변환에 사용 2.JSONObject:fastJson에서 제공하는 json 대상 3.JSONarray:fastJson에서 json 배열 객체 제공
2. FastJson의 사용법
우선 세 개의 json 형식의 문자열을 정의합니다
//json -
private static final String JSON_OBJ_STR = "{\"studentName\":\"lily\",\"studentAge\":12}";
//json -
private static final String JSON_ARRAY_STR = "[{\"studentName\":\"lily\",\"studentAge\":12},{\"studentName\":\"lucy\",\"studentAge\":15}]";
// json
private static final String COMPLEX_JSON_STR = "{\"teacherName\":\"crystall\",\"teacherAge\":27,\"course\":{\"courseName\":\"english\",\"code\":1270},\"students\":[{\"studentName\":\"lily\",\"studentAge\":12},{\"studentName\":\"lucy\",\"studentAge\":15}]}";
2.1.JSON 형식 문자열과 JSON 객체 간의 변환
2.1.1.json 문자열 - 단순 객체와 JSONObject 간의 변환
/**
* json - JSONObject
*/
@Test
public void testJSONStrToJSONObject() {
JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
System.out.println("studentName: " + jsonObject.getString("studentName") + ":" + " studentAge: "
+ jsonObject.getInteger("studentAge"));
}
/**
* JSONObject json -
*/
@Test
public void testJSONObjectToJSONStr() {
// JSONObject, json
JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
//
String jsonString = JSONObject.toJSONString(jsonObject);
//
//String jsonString = jsonObject.toJSONString();
System.out.println(jsonString);
}
2.1.2.json 문자열(배열 유형)과 JSONarray 사이의 변환
/**
* json - JSONArray
*/
@Test
public void testJSONStrToJSONArray() {
JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
// 1
int size = jsonArray.size();
for (int i = 0; i < size; i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println("studentName: " + jsonObject.getString("studentName") + ":" + " studentAge: "
+ jsonObject.getInteger("studentAge"));
}
// 2
for (Object obj : jsonArray) {
JSONObject jsonObject = (JSONObject) obj;
System.out.println("studentName: " + jsonObject.getString("studentName") + ":" + " studentAge: "
+ jsonObject.getInteger("studentAge"));
}
}
/**
* JSONArray json -
*/
@Test
public void testJSONArrayToJSONStr() {
// JSONArray, json
JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
//
String jsonString = JSONArray.toJSONString(jsonArray);
//
//String jsonString = jsonArray.toJSONString(jsonArray);
System.out.println(jsonString);
}
2.1.3.복잡한 json 형식 문자열과 JSONObject 사이의 변환
/**
* json JSONObject
*/
@Test
public void testComplexJSONStrToJSONObject() {
JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);
String teacherName = jsonObject.getString("teacherName");
Integer teacherAge = jsonObject.getInteger("teacherAge");
System.out.println("teacherName: " + teacherName + " teacherAge: " + teacherAge);
JSONObject jsonObjectcourse = jsonObject.getJSONObject("course");
// JSONObject
String courseName = jsonObjectcourse.getString("courseName");
Integer code = jsonObjectcourse.getInteger("code");
System.out.println("courseName: " + courseName + " code: " + code);
JSONArray jsonArraystudents = jsonObject.getJSONArray("students");
// JSONArray
for (Object object : jsonArraystudents) {
JSONObject jsonObjectone = (JSONObject) object;
String studentName = jsonObjectone.getString("studentName");
Integer studentAge = jsonObjectone.getInteger("studentAge");
System.out.println("studentName: " + studentName + " studentAge: " + studentAge);
}
}
/**
* JSONObject json
*/
@Test
public void testJSONObjectToComplexJSONStr() {
// JSONObject, json
JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);
//
//String jsonString = JSONObject.toJSONString(jsonObject);
//
String jsonString = jsonObject.toJSONString();
System.out.println(jsonString);
}
2.2.JSON 형식 문자열과 javaBean 사이의 변환
2.2.1.json 문자열 - 간단한 대상형과javaBean 사이의 변환
/**
* json - JavaBean
*/
@Test
public void testJSONStrToJavaBeanObj() {
//
JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
String studentName = jsonObject.getString("studentName");
Integer studentAge = jsonObject.getInteger("studentAge");
//Student student = new Student(studentName, studentAge);
// , TypeReference , protected ,
//Student student = JSONObject.parseObject(JSON_OBJ_STR, new TypeReference() {});
// , Gson
Student student = JSONObject.parseObject(JSON_OBJ_STR, Student.class);
System.out.println(student);
}
/**
* JavaBean json -
*/
@Test
public void testJavaBeanObjToJSONStr() {
Student student = new Student("lily", 12);
String jsonString = JSONObject.toJSONString(student);
System.out.println(jsonString);
}
2.2.2.json 문자열 - 그룹 형식과 자바빈 사이의 변환
/**
* json - JavaBean_List
*/
@Test
public void testJSONStrToJavaBeanList() {
//
JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
// JSONArray
List students = new ArrayList();
Student student = null;
for (Object object : jsonArray) {
JSONObject jsonObjectone = (JSONObject) object;
String studentName = jsonObjectone.getString("studentName");
Integer studentAge = jsonObjectone.getInteger("studentAge");
student = new Student(studentName,studentAge);
students.add(student);
}
System.out.println("students: " + students);
// , TypeReference , protected ,
List studentList = JSONArray.parseObject(JSON_ARRAY_STR, new TypeReference>() {});
System.out.println("studentList: " + studentList);
// , Gson
List studentList1 = JSONArray.parseArray(JSON_ARRAY_STR, Student.class);
System.out.println("studentList1: " + studentList1);
}
/**
* JavaBean_List json -
*/
@Test
public void testJavaBeanListToJSONStr() {
Student student = new Student("lily", 12);
Student studenttwo = new Student("lucy", 15);
List students = new ArrayList();
students.add(student);
students.add(studenttwo);
String jsonString = JSONArray.toJSONString(students);
System.out.println(jsonString);
}
2.2.3.복잡한 json 형식 문자열과javaBean 사이의 변환
/**
* json JavaBean_obj
*/
@Test
public void testComplexJSONStrToJavaBean(){
// , TypeReference , protected ,
Teacher teacher = JSONObject.parseObject(COMPLEX_JSON_STR, new TypeReference() {});
System.out.println(teacher);
// , Gson
Teacher teacher1 = JSONObject.parseObject(COMPLEX_JSON_STR, Teacher.class);
System.out.println(teacher1);
}
/**
* JavaBean_obj json
*/
@Test
public void testJavaBeanToComplexJSONStr(){
// JavaBean_obj
Teacher teacher = JSONObject.parseObject(COMPLEX_JSON_STR, new TypeReference() {});
String jsonString = JSONObject.toJSONString(teacher);
System.out.println(jsonString);
}
2.3.javaBean과 json 대상 사이의 변환
2.3.1.간단한javaBean과 json 대상 사이의 변환
/**
* JavaBean_obj json
*/
@Test
public void testJavaBeanToJSONObject(){
// JavaBean_obj
Student student = new Student("lily", 12);
//
String jsonString = JSONObject.toJSONString(student);
JSONObject jsonObject = JSONObject.parseObject(jsonString);
System.out.println(jsonObject);
//
JSONObject jsonObject1 = (JSONObject) JSONObject.toJSON(student);
System.out.println(jsonObject1);
}
/**
* json JavaBean_obj
*/
@Test
public void testJSONObjectToJavaBean(){
// json
JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
// , TypeReference , protected ,
Student student = JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference() {});
System.out.println(student);
// , Gson
Student student1 = JSONObject.parseObject(jsonObject.toJSONString(), Student.class);
System.out.println(student1);
}
2.3.2.JavaList와 JsonArray 사이의 전환
/**
* JavaList JsonArray
*/
@Test
public void testJavaListToJsonArray() {
// JavaList
Student student = new Student("lily", 12);
Student studenttwo = new Student("lucy", 15);
List students = new ArrayList();
students.add(student);
students.add(studenttwo);
//
String jsonString = JSONArray.toJSONString(students);
JSONArray jsonArray = JSONArray.parseArray(jsonString);
System.out.println(jsonArray);
//
JSONArray jsonArray1 = (JSONArray) JSONArray.toJSON(students);
System.out.println(jsonArray1);
}
/**
* JsonArray JavaList
*/
@Test
public void testJsonArrayToJavaList() {
// JsonArray
JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
// , TypeReference , protected ,
ArrayList students = JSONArray.parseObject(jsonArray.toJSONString(),
new TypeReference>() {});
System.out.println(students);
// , Gson
List students1 = JSONArray.parseArray(jsonArray.toJSONString(), Student.class);
System.out.println(students1);
}
2.3.3.복잡한 자바빈obj와 json 대상 사이의 변환
/**
* JavaBean_obj json
*/
@Test
public void testComplexJavaBeanToJSONObject() {
// JavaBean_obj
Student student = new Student("lily", 12);
Student studenttwo = new Student("lucy", 15);
List students = new ArrayList();
students.add(student);
students.add(studenttwo);
Course course = new Course("english", 1270);
Teacher teacher = new Teacher("crystall", 27, course, students);
//
String jsonString = JSONObject.toJSONString(teacher);
JSONObject jsonObject = JSONObject.parseObject(jsonString);
System.out.println(jsonObject);
//
JSONObject jsonObject1 = (JSONObject) JSONObject.toJSON(teacher);
System.out.println(jsonObject1);
}
/**
* json JavaBean_obj
*/
@Test
public void testComplexJSONObjectToJavaBean() {
// json
JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);
// , TypeReference , protected ,
Teacher teacher = JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference() {});
System.out.println(teacher);
// , Gson
Teacher teacher1 = JSONObject.parseObject(jsonObject.toJSONString(), Teacher.class);
System.out.println(teacher1);
}
3. 원본 코드
이 블로그의 원본 코드는 모두 Github에 있습니다.FastJson Demo,Fork and Star를 환영합니다!
4. 요약
자, FastJson의 기본적인 용법은 소개가 끝났습니다. 장미를 선물하고 손에 여향을 남기며 공부는 저를 즐겁게 합니다. 공유는 여러분을 즐겁게 합니다. 여러분의 칭찬과 소장을 환영합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.