JAVA는 Gson을 사용하여 json 데이터 인스턴스 해석

5716 단어 javagson해석json
JSON(JavaScript Object Notation)은 읽기 쉽고 작성하기 쉬우며 기계적으로 해석하고 생성하기 쉬운 경량급 데이터 교환 형식이다.XML과 마찬가지로 전송 형식입니다.JSON은 프로그래밍 언어와 무관한 텍스트 형식을 채택하여 데이터 전송, 저장, 교환에 편리하다.
패키지 클래스 Attribute:

public class Attribute {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
또 다른 패키지형 GsonDataAnalysis:

public class GsonDataAnalysis {
private List<Attribute> list;
public List<Attribute> getList() {
return list;
}
public void setList(List<Attribute> list) {
this.list = list;
}
}
테스트 클래스 Main 방법:

/**
* Gson json 
* @author ForeverLover
* @version 2015-04-19
*/
public class GsonTest {
public static void main(String[] args) {
String sTotalString = "{\"list\": [" +
"{\"id\":\"1\",\"name\":\"Tom\",\"age\":\"12\"}," +
"{\"id\":\"2\",\"name\":\"Marry\",\"age\":\"18\"}" +
"]}";
Gson gson = new Gson();
GsonDataAnalysis gda = gson.fromJson(
sTotalString, GsonDataAnalysis.class);
for(int i = 0; i < gda.getList().size(); i ++) {
System.out.print("ID :" + gda.getList().get(i).getId() + " ");
System.out.print("   :" + gda.getList().get(i).getName() + " ");
System.out.println("   :" + gda.getList().get(i).getAge());
}
}
}
주: Gson 클래스를 사용할 때 프로젝트에 Gson을 추가해야 합니다.가방
다음은 자바 해석 json 형식 데이터를 소개합니다.
때때로 json 형식으로 데이터의 전송을 할 수 있는데 수신된 데이터를 어떻게 해석합니까?다음은 json 데이터를 분석하는 두 가지 방법을 소개한다.
1. 구글의 Gson을 통해 분석:
json 데이터: sTotalString = {'메시지':'success','result': [{'surveyid':'1','surveyname':'B'}{surveyid':'2','surveyname':'C'}};
두 가지 VO 클래스:

public class SurveyVO {
private String surveyId;
private String surveyName;
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getSurveyId() {
return surveyId;
}
public void setSurveyId(String surveyId) {
this.surveyId = surveyId;
}
public String getSurveyName() {
return surveyName;
}
public void setSurveyName(String surveyName) {
this.surveyName = surveyName;
}
}
public class SurveyListVO {
private String message;
private List<SurveyVO> result;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public List<SurveyVO> getResult() {
return result;
}
public void setResult(List<SurveyVO> result) {
this.result = result;
} 
}
json 형식을 object 형식으로 변환하려면 다음과 같이 하십시오.

public class fromGson() {
sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{"surveyid":"2","surveyname":"C"}]};
Gson gson = new Gson();
SurveyListVO surveyListVO = gson.fromJson(sTotalString,
SurveyListVO.class);
for (int i = 0; i < surveyListVO.getResult().size(); i++) {
System.out.print(surveyListVO.getResult().get(i)
.getSurveyId());
print: 1////2
System.out.print(surveyListVO.getResult().get(i)
.getSurveyName());
print: B///C
System.out.print(surveyListVO.getMessage());
}
}
2. json-org를 통해.jar 패키지 확인:
json 데이터: sTotalString = {'메시지':'success','result': [{'surveyid':'1','surveyname':'B'}{surveyid':'2','surveyname':'C'}};
하나의 VO 클래스:

public class SurveyVO {
private String surveyId;
private String surveyName;
public String getSurveyId() {
return surveyId;
}
public void setSurveyId(String surveyId) {
this.surveyId = surveyId;
}
public String getSurveyName() {
return surveyName;
}
public void setSurveyName(String surveyName) {
this.surveyName = surveyName;
}
}
json 형식을 object 형식으로 변환하려면 다음과 같이 하십시오.

public class fromJson() {
sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{"surveyid":"2","surveyname":"C"}]};
JSONObject json;
try {
json = new JSONObject(sTotalString);
JSONArray results = json.getJSONArray("result");
for (int i = 0; i < results.length(); i++) {
SurveyVO surveyVO = new SurveyVO();
JSONObject result = results.getJSONObject(i);
System.out.println(result.getString("surveyId")+" "+result.getString("surveyName"));
surveyVO.setSurveyId(result.getString("surveyId"));
surveyVO.setSurveyName(result.getString("surveyName"));
surveyVOList.add(surveyVO);
}
} catch (JSONException e) {
e.printStackTrace();
}
}

좋은 웹페이지 즐겨찾기