用阿里fastJson解析Json字符串


一下總結來自工作代碼:

1.第一種情況:

通過服務器端發送http請求獲取的接送字符串。

     String jsonStr = HttpRequestUtil.sendGet(config.getAddress() + config.getPorts() + config.getFind(), "");
     //把接送字符串解析成json對象進行操作
        JSONObject jb = JSONObject.parseObject(jsonStr);
        //取“value”的鍵值,value里面是個json數組
        List<Object> jsonArray = jb.getJSONArray("value");
        //把json數組轉為json字符串
        String jsonString = JSONObject.toJSONString(jsonArray);
        //又把json字符串轉為java集合得到我們需要的數據
        List<TemplateJson> budgetTargetProjectTemplateJsons = JSONObject.parseArray(jsonString, TemplateJson.class);
public class TemplateJson {
    
    private String acctCode;

    private String parentAcctCode;
    
    private String acctName;
    
    
}

 

2.第二種情況:

接收前端傳來的json字符串。

2.1前端代碼:

通過ajax發送

$.ajax({
        type: "post",
        url: "/xx/xx/xx/bianzhi",
        data: {
    excelJson:JSON.stringify(tableJson),//格式化為json字符串
            },
            success: function (result) {
             if (result.status == 0) {  //彈出層關閉范例
                 parent.parent.layer.close(parent.parent.layer.index);
             }
             if (result.message != null) {
                 parent.parent.parent.layer.msg(result.message)
             }
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
             layer.msg('{"status":"' + XMLHttpRequest.status + '","readyState":"' + XMLHttpRequest.readyState + '","textStatus":"' + textStatus + '","errorThrown":"' + errorThrown + '"}')
         }
    

    });

 

2.2后端代碼:

@RequestMapping(value = "bianzhi")
ResultJson bianzhi(String tableJson) {

    List<BudgetExcelJson> budgetExcelJsons = JSON.parseArray(tableJson, BudgetExcelJson.class);
  for(BudgetExcelJson budgetExcelJson : budgetExcelJsons) {

  }
}

 


免責聲明!

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



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