JS及JSP中的json数据处理

在作h5开发过程当中,一般咱们会使用EL表达式将java层获取到的数据经过<input type='hidden' value='${data}'>的方式获取到当前jsp页面,而后在js文件中使用jQuery的方式获取数据进行数据处理很使用。这里就我的使用中遇到的问题进行几点记录:java

一、jsp中使用EL表达式获取数据时,value值采用单引号,能避免双引号赋值过程当中,对json数据中双引号成对匹配产生的错误匹配异常。json

二、js文件中获取到jsp中value值时,须要将json的string类型装成json对象。具体方法是:jsp

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").spa

总结JS文件中对JSON字符串和对象的操做以下:对象

一、json 类型的字符串转成json对象及取值开发

var jsonString = '{"bar":"property","baz":3}';
var jsObject = JSON.parse(jsonString);    //转换为json对象
alert(jsObject.bar);    //取json中的值


二、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和数字则不用。input