1. 程式人生 > >JS及JSP中的json資料處理

JS及JSP中的json資料處理

在做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和數字則不用。