熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

java 解析json格式數據

2013-11-23 18:47:59  來源: Java核心技術 

  有時候可能會用到json格式進行數據的傳輸那麼怎麼把接收到的數據解析出來呢?下面介紹兩種解析json數據的方法
   
    通過谷歌的Gson來進行解析
   
    json數據sTotalString = {message:successresult:[{surveyid:surveyname:B}{surveyid: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) {
   
    ssage = message;
   
    }
   
    public String getSurveyId() {
   
    return surveyId;
   
    }
   
    public void setSurveyId(String surveyId) {
   
    thissurveyId = surveyId;
   
    }
   
    public String getSurveyName() {
   
    return surveyName;
   
    }
   
    public void setSurveyName(String surveyName) {
   
    thissurveyName = surveyName;
   
    }
   
    }
   
    public class SurveyListVO {
   
    private String message;
   
    private List<SurveyVO> result;
   
    public String getMessage() {
   
    return message;
   
    }
   
    public void setMessage(String message) {
   
    ssage = message;
   
    }
   
    public List<SurveyVO> getResult() {
   
    return result;
   
    }
   
    public void setResult(List<SurveyVO> result) {
   
    thisresult = result;
   
    }
   
    }
   
    json格式轉換成object類型
   
    public class fromGson() {
   
    sTotalString = {message:successresult:[{surveyid:surveyname:B}{surveyid:surveyname:C}]};
   
    Gson gson = new Gson()
   
    SurveyListVO surveyListVO = gsonfromJson(sTotalString
   
    SurveyListVOclass)
   
    for (int i = ; i < surveyListVOgetResult()size() i++) {
   
    Systemoutprint(surveyListVOgetResult()get(i)
   
    getSurveyId())
   
    print: ////
   
    Systemoutprint(surveyListVOgetResult()get(i)
   
    getSurveyName())
   
    print: B///C
   
    Systemoutprint(surveyListVOgetMessage())
   
    }
   
    }

  通過jsonorgjar包進行解析
   
    json數據sTotalString = {message:successresult:[{surveyid:surveyname:B}{surveyid:surveyname:C}]};
   
    一個VO類
   
    public class SurveyVO {
   
    private String surveyId;
   
    private String surveyName;
   
    public String getSurveyId() {
   
    return surveyId;
   
    }
   
    public void setSurveyId(String surveyId) {
   
    thissurveyId = surveyId;
   
    }
   
    public String getSurveyName() {
   
    return surveyName;
   
    }
   
    public void setSurveyName(String surveyName) {
   
    thissurveyName = surveyName;
   
    }
   
    }
   
    json格式轉換成object類型
   
    public class fromJson() {
   
    sTotalString = {message:successresult:[{surveyid:surveyname:B}{surveyid:surveyname:C}]};
   
    JSONObject json;
   
    try {
   
    json = new JSONObject(sTotalString)
   
    JSONArray results = jsongetJSONArray(result
   
    for (int i = ; i < resultslength() i++) {
   
    SurveyVO surveyVO = new SurveyVO()
   
    JSONObject result = resultsgetJSONObject(i)
   
    Systemoutprintln(resultgetString(surveyId)+ +resultgetString(surveyName))
   
    surveyVOsetSurveyId(resultgetString(surveyId))
   
    surveyVOsetSurveyName(resultgetString(surveyName))
   
    surveyVOListadd(surveyVO)
   
    }
   
    } catch (JSONException e) {
   
    eprintStackTrace()
   
    }
   
    }


From:http://tw.wingwit.com/Article/program/Java/hx/201311/25754.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.