有时候可能会用到json格式进行数据的传输,那么怎么把接收到的数据解析出来呢? 下面介绍两种解析json数据的方法:
1、通过谷歌的Gson来进行解析:
json数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};
两个VO类:
json格式转换成object类型:
2、通过json-org.jar包进行解析:
json数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};
一个VO类:
json格式转换成object类型:
1、通过谷歌的Gson来进行解析:
json数据:sTotalString = {"message":"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;
-
}
- }
-
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 = {"message":"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;
-
}
- }
-
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();
-
}
- }