JS及JSP中的json資料處理
阿新 • • 發佈:2019-02-12
在做h5開發過程中,通常我們會使用EL表示式將java層獲取到的資料通過<input type='hidden' value='${data}'>的方式獲取到當前jsp頁面,然後在js檔案中使用jQuery的方式獲取資料進行資料處理很使用。這裡就個人使用中遇到的問題進行幾點記錄:
1、jsp中使用EL表示式獲取資料時,value值採用單引號,能避免雙引號賦值過程中,對json資料中雙引號成對匹配產生的錯誤匹配異常。
2、js檔案中獲取到jsp中value值時,需要將json的string型別裝成json物件。具體方法是:
var repaymentAnalysisOut = $('#repaymentAnalysisOut').val(); var repaymentAnalysisOutJSON = JSON.parse(repaymentAnalysisOut); var repaymentAnalysisOutAmountY = []; var repaymentAnalysisOutMonthX = []; for (var i = 0; i < repaymentAnalysisOutJSON.length; i++) { var amountFloat = parseInt(repaymentAnalysisOutJSON[i].amount); repaymentAnalysisOutAmountY.push(amountFloat);repaymentAnalysisOutMonthX.push(repaymentAnalysisOutJSON[i].month); }
由上面的程式碼看到,解析成string轉成json物件使用的方法是JSON.parse("json string").
總結JS檔案中對JSON字串和物件的操作如下:
1、json 型別的字串轉成json物件及取值
var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse(jsonString); //轉換為json物件 alert(jsObject.bar); //取json中的值
2、json物件轉成json型別的字串
var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse(jsonString); //轉換為json物件 alert(jsObject.bar); //取json中的值 var st = JSON.stringify(jsObject); //轉換為json型別的字串
拼接過程中,細節很重要,注意{}外層是單引號,字串中的key需要用雙引號引起來,value是字串的需要用雙引號引起來,boolean和數字則不用。