jsp页面把获取的map数据转换成json格式的数据来使用
2017-09-29 10:24
776 查看
我是在jsp页面写的js,通过var map="${xxx}";获取到了格式为
的map数据,js不可以直接把这数据拿来使用,这里我用正则的方法先把这数据转成json格式的字符串,如下:
接下来就可以转成对象使用啦:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201709/3d224ef759a46f36443cd9e1d1ef1ec2)
比如可以遍历它获取其中的某个数据:
[{amount=1, progress=00, label=项目立项}, {amount=1, progress=01, label=招标采购}, {amount=1, progress=02, label=建设实施}, {amount=1, progress=03, label=用户验收}, {amount=1, progress=04, label=信息化和技防验收}, {amount=1, progress=05, label=联合验收}, {amount=2, progress=06, label=运维服务}]
的map数据,js不可以直接把这数据拿来使用,这里我用正则的方法先把这数据转成json格式的字符串,如下:
var map="[{amount=1, progress=00, label=项目立项}, {amount=1, progress=01, label=招标采购}, {amount=1, progress=02, label=建设实施}, {amount=1, progress=03, label=用户验收}, {amount=1, progress=04, label=信息化和技防验收}, {amount=1, progress=05, label=联合验收}, {amount=2, progress=06, label=运维服务}]"; console.log(map); var jsonStr=map.replace(/([\u4e00-\u9fa5]+)/g,"\"$1\"").replace(/=/g,":");//第一种正则方法,把中文字符用双引号包起来,$1是小括号里的内容,把=替换成: console.log(jsonStr); var jsonStr2=map.replace(/[\u4e00-\u9fa5]+/g,function(str){return '"'+str+'"'}).replace(/=/g,":");//第二种正则,第一个参数是中文字符的正则,第二个参数是一个函数,可以用此函数的返回值替换字符串中指定的子字符串,函数中str即原来的中文字符串的内容,然后把=替换成: console.log(jsonStr2); var jsonStr3=map.replace(/=/g,":\"").replace(/}/g,"\"}").replace(/,/g,"\",").replace(/}"/g,"}"); console.log(jsonStr3);//第三种正则,比较简单,把=替换成:",然后把}替换成"},接着把,替换成",,最后把}"替换成}好了,现在原来的数据已经转成json格式的数据:
[{amount:1, progress:00, label:"项目立项"}, {amount:1, progress:01, label:"招标采购"}, {amount:1, progress:02, label:"建设实施"}, {amount:1, progress:03, label:"用户验收"}, {amount:1, progress:04, label:"信息化和技防验收"}, {amount:1, progress:05, label:"联合验收"}, {amount:2, progress:06, label:"运维服务"}]
接下来就可以转成对象使用啦:
var jsonObj=eval(jsonStr); console.log(jsonObj);
比如可以遍历它获取其中的某个数据:
var aaa=[]; for(var i=0;i<jsonObj.length;i++){ var obj={}; obj.value=jsonObj[i].amount; obj.name=jsonObj[i].label; aaa.push(obj3); } console.log(aaa);
相关文章推荐
- Android JSON数据格式的解析,与简单对象、带泛型的List和Map的转换,以及GSON的使用
- 对象转换为JSON数据格式&使用JQuery获取数据
- SSM将后台获取的数据转换成json格式传递到前台页面
- 如何将一个List<Map<String,String>>类型的集合数据转换成json格式输出
- jQuery中使用Ajax获取JSON格式数据示例代码
- fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map
- c#将数据库数据转换为json格式(使用extjs,easyui中的datagrid)
- 在JSP页面中输出JSON格式数据
- jsp页面使用json后台数据
- struts2:JSON在struts中的应用(JSP页面中将对象转换为JSON字符串提交、JSP页面中获取后台Response返回的JSON对象)
- 关于jsp中使用jquery数据格式json
- jQuery中使用Ajax获取JSON格式数据
- js获取另一个jsp页面上的json数据
- jQuery中使用Ajax获取JSON格式数据示例代码
- 使用C#中JavaScriptSerializer类将对象转换为Json格式数据
- 【原创】c#讲数据库数据转换为json格式(使用extjs,easyui中的datagrid)
- 使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
- Java中将JSON格式的数据转换成对应的Bean、Map、List数据
- 解决google chart使用服务器端代码获取填充数据--json格式
- 在JSP页面中输出JSON格式数据