在做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和数字则不用。