Java中如何返回Json數組


 

期望返回如下格式的數據

{
  "ResultId": "1", 
  "ResultDetail": "Data", 
  "Data": [
    {
      "ListSeqNo": 2344, 
      "HeadSeqNo": 2342, 
      "SourcePath": "D:\ABC", 
      "Source": "Schemas.rar", 
      "DestPath": "D:\TransportSea", 
      "SourceType": "txt", 
      "IsRun": 1, 
      "RunParams": "", 
      "IsDown": "0", 
      "FileContents": ""
    }, 
    {
      "ListSeqNo": 8, 
      "HeadSeqNo": 2, 
      "SourcePath": "ABC", 
      "Source": "Schemas.rar", 
      "DestPath": "D:\TransportSea", 
      "SourceType": "dir", 
      "IsRun": 1, 
      "RunParams": "", 
      "IsDown": "0", 
      "FileContents": ""
    }
  ]
}

 

Java代碼如下 - 這個方法很好用

JSONObject jsonobject = new JSONObject();
List<Map<String, Object>> statusFlowList = null;
String  data = null;
//查詢數據
statusFlowList = MSGService.getStatusFlow(statusFlow);
//處理數據 - 轉為json字符串
if(null != statusFlowList && statusFlowList.size()>0) {
    data = JSON.toJSONString(statusFlowList, SerializerFeature.WriteMapNullValue);
    //data = data.replace("null", "\"\"");
}    
//處理數據 - 封裝返回數據
jsonobject.put("result", "1");
jsonobject.put("info", "");
jsonobject.put("data", null==data? "" : data);
return jsonobject.toString();

 

Java代碼如下 - 這個方法好笨啊

//import net.sf.json.JSONArray;
//import net.sf.json.JSONObject;

List<AmAppManagerConfig> aamConfigList = clsDataService.queryCLS008Two(msgForm);
if(null != aamConfigList && aamConfigList.size()>0) {
    //存在數據,封裝數據進行返回
    JSONObject jsonObject08 = new JSONObject();
    info = "Data";
    result = "1";            
    jsonObject08.put("ResultId", result);
    jsonObject08.put("ResultDetail", info);
    JSONArray jsonArray = new JSONArray();
    for(AmAppManagerConfig am :aamConfigList) {
        JSONObject jsonObjectData = new JSONObject();
        jsonObjectData.put("ListSeqNo",am.getListSeqNo() != null ? am.getListSeqNo():""); //順序號
        jsonObjectData.put("HeadSeqNo",am.getHeadSeqNo() != null ? am.getHeadSeqNo():"");  //頭序號
        jsonObjectData.put("SourcePath",am.getSourcePath() != null ? am.getSourcePath():""); //目錄地址
        jsonObjectData.put("Source",am.getSource() != null ? am.getSource():"");  //文件或目錄名
        jsonObjectData.put("DestPath",am.getDestPath() != null ? am.getDestPath():"");  //應用所在目錄
        jsonObjectData.put("SourceType",am.getSourceType() != null ? am.getSourceType():"");  //目錄類型
        jsonObjectData.put("IsRun",am.getIsRun() != null ? am.getIsRun():"");      //可運行
        jsonObjectData.put("RunParams",am.getRunParams() != null ? am.getRunParams():""); //運行參數
        jsonObjectData.put("IsDown",am.getIsDown() != null ? am.getIsDown():"");   //是否下載
        jsonObjectData.put("FileContents",am.getFileContents() != null ? new String(am.getFileContents().getBytes((long)1, (int)am.getFileContents().length())):""); //INI配置  
        jsonArray.add(jsonObjectData);
        jsonObject08.element("Data", jsonArray);
        jsonObject08.getJSONArray("Data");
    }
    String decodeDataStr = new String(Base64.encodeBase64(jsonObject08.toString().getBytes()));
    System.out.println("decodeDataStr---->" + decodeDataStr);
    return decodeDataStr;
}else {
    //未查詢到數據
    JSONObject jsonObject08 = new JSONObject();
    info = "客戶端ID未授權";
    result = "0";            
    jsonObject08.put("ResultId", result);
    jsonObject08.put("ResultDetail", info);
    String decodeDataStr = new String(Base64.encodeBase64(jsonObject08.toString().getBytes()));
    return decodeDataStr;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM