有时候可能会用到json格式进行数据的传输,那么怎么把接收到的数据解析出来呢?
下面介绍两种解析json数据的方法:
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;
- }
- }
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 = {"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;
- }
- }
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();
- }
- }
阅读(1837) | 评论(0) | 转发(0) |