흔히 볼 수 있는 세 가지 json 조작 도구(jackson, gson,fastjson)
9073 단어 json
잭슨 1.x 시리즈 및 2.x 시리즈, 2.x 시리즈는 3개의jar백을 다운로드해야 한다:jackson-core-2.2.3.jar(핵심jar 패키지)jackson-annotations-2.2.3.jar (이 패키지는 Json 주석 지원을 제공합니다) jackson-databind-2.2.3.jar (상기 두 개 포함)
maven 의존
com.fasterxml.jackson.core
jackson-databind
2.5.3
편폭과 시간 때문에 모델을 쓰지 않습니다.list,map으로 대체합니다
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* json
*
* @Author: Mr_li
* @CreateDate: 2018-11-07$ 14:48$
* @Version: 1.0
*/
public class JackSonTestCase {
private static ObjectMapper mapper = new ObjectMapper();
/**
*
*/
static class getData {
Map map = new HashMap();
List list = new ArrayList<>();
List
2fastjson
fastJson은 json 형식 문자열에 대한 해석에 주로 세 가지 클래스를 사용했다.
JSON:fastJson의 해상도입니다. JSON 형식 문자열과 JSON 대상 및javaBean 사이의 변환에 사용됩니다.
JSONObject:fastJson에서 제공하는 json 객체입니다.
JSONarray:fastJson은 json 배열 객체를 제공합니다.
maven 의존
com.alibaba
fastjson
1.2.51
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* json
*
* @Author: Mr_li
* @CreateDate: 2018-11-07$ 14:48$
* @Version: 1.0
*/
public class FastjsonTestCase {
private static JSONObject jsonObject = new JSONObject();
private static JSONArray jsonArr = new JSONArray();
class Student {
private String studentName;
private Integer studentAge;
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public Integer getStudentAge() {
return studentAge;
}
public void setStudentAge(Integer studentAge) {
this.studentAge = studentAge;
}
}
/**
*
*/
static class getData {
Map map = new HashMap();
List list = new ArrayList<>();
List> listMap = new ArrayList>();
public Map getMap() {
map.put("name", " ");
map.put("age", "18");
return map;
}
public List getList() {
list.add("a");
list.add("b");
return list;
}
public List> getListMap() {
listMap.add(getMap());
return listMap;
}
}
public static void test() throws IOException {
//jsonStr-->>jsonObj
String json1 = "{\"studentName\":\"lily\",\"studentAge\":12}";
JSONObject jsonObject = JSON.parseObject(json1);
//jsonStr-->>jsonArray
String json2 = "[{\"studentName\":\"lily\",\"studentAge\":12},{\"studentName\":\"lucy\",\"studentAge\":15}]";
JSONArray jsonArray = JSON.parseArray(json1);
//jsonstr-->>javaObj
Student student = JSON.parseObject(json2, Student.class);
List list = new ArrayList();
ArrayList list1 = (ArrayList) JSONObject.parseObject(json2, List.class);
//javaObj-->>jsonStr
String jsonString = JSON.toJSONString(student);
}
public static void main(String[] args) throws IOException {
FastjsonTestCase.test();
}
}
3g son
현재 인터넷에는 많은 인터페이스가 Json 형식이다. Gson은 구글에서 개발한 Json 해석 라이브러리로 자바 대상을 Json 문자열로 쉽게 변환할 수도 있고 Json 문자열을 자바 대상으로 쉽게 변환할 수도 있다.
com.google.code.gson
gson
2.8.5
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* json
*
* @Author: Mr_li
* @CreateDate: 2018-11-07$ 14:48$
* @Version: 1.0
*/
public class GsonTestCase {
private static Gson gson = new Gson();
private static JsonParser parser = new JsonParser();
class Student {
private String studentName;
private Integer studentAge;
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public Integer getStudentAge() {
return studentAge;
}
public void setStudentAge(Integer studentAge) {
this.studentAge = studentAge;
}
}
/**
*
*/
static class getData {
Map map = new HashMap();
List list = new ArrayList<>();
List> listMap = new ArrayList>();
public Map getMap() {
map.put("name", " ");
map.put("age", "18");
return map;
}
public List getList() {
list.add("a");
list.add("b");
return list;
}
public List> getListMap() {
listMap.add(getMap());
return listMap;
}
}
public static void test() throws IOException {
//jsonStr-->>jsonObj
String json1 = "{\"studentName\":\"lily\",\"studentAge\":12}";
JsonObject jsonObject = (JsonObject) parser.parse(json1);
JsonElement parse = parser.parse(json1);
JsonObject asJsonObject = parse.getAsJsonObject();
//jsonStr-->>jsonArray
String json2 = "[{\"studentName\":\"lily\",\"studentAge\":12},{\"studentName\":\"lucy\",\"studentAge\":15}]";
JsonArray jsonArray = (JsonArray) parser.parse(json1);
JsonElement parse1 = parser.parse(json1);
JsonArray asJsonArray = parse1.getAsJsonArray();
//jsonStr-->>javaObj
Student student = new Gson().fromJson(json1, Student.class);
HashMap studentHashMap = gson.fromJson(json1, new TypeToken>() {
}.getType());
//javaObj-->>jsonStr
String json = gson.toJson(student);
}
public static void main(String[] args) throws IOException {
GsonTestCase.test();
}
}
perfect!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콘텐츠 SaaS | JSON 스키마 양식 빌더Bloomreach Content를 위한 JSON Form Builder 맞춤형 통합을 개발합니다. 최근 Bloomreach Content SaaS는 내장 앱 프레임워크를 사용하여 혁신적인 콘텐츠 유형 필드를 구축할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.