javascript中eval解析JSON字符串

简介:

先来看一个JSON字符串集

 

var data=" 

root: 

{name:'1',value:'0'}, 
{name:'6101',value:'A城市'}, 
{name:'6102',value:'B城市'}, 
{name:'6103',value:'C城市'}, 
{name:'6104',value:'D城市'}, 
{name:'6105',value:'E城市'}

]
}";

 

怎么将上述json字符串转化为json对象呢?


使用eval()这个内置函数,该方式也适合以普通js方式获取json对象。

 

var dataObj=eval("("+data+")");
alert(dataObj.root.length);
$.each(dataObj.root,fucntion(idx,item){ 
        if(idx==0){ 
              return true; 
        } 
       alert("name:"+item.name+",value:"+item.value); 
});


为什么eval这里要添加("("+data+")") ?

由于json是以{ }的方式来开始以及结束的,在eval中会被当成一个语句块来处理,故必须强制将它转换成一种表达式。

加上圆括号是使eval函数在处理时强制将括号内的表达式(expression)转化为对象而不作为语句(statement)来执行。

若不加外层的括号,eval会将大括号识别为js代码块的开始和结束标记,{ }将会被认为执行了一句空语句。

 

alert(eval("{}")
结果 undefined

 

alert(eval("({})")
结果 object[Object]


来看看eval其他用法

eval("alert('xy')");

等价于alert("xy")

 

var msg = "xy";

eval("alert(msg)");

等价于alert("xy")

 

eval("x=10;y=20;document.write(x*y)")

结果 200

 

eval就相当于一个js解析器,很牛哦

 

原帖地址:http://www.cnblogs.com/myjavawork/archive/2011/03/10/1979279.html

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/959630如需转载请自行联系原作者


woshixuye111

相关文章
|
10天前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
23天前
|
JSON JavaScript 前端开发
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
253 0
|
7天前
|
JavaScript 前端开发 索引
JavaScript中与字符串相关的方法
JavaScript中与字符串相关的方法
|
7天前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`'1.2,2,3,4,5'`)转换为对象数组。通过使用`split(',')`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
10天前
|
JavaScript
JS去除字符串的方法
JS去除字符串的方法
|
14天前
|
JavaScript 前端开发
为 setTimeout 或 setInterval 提供一个字符串作为第一个参数(js的问题)
为 setTimeout 或 setInterval 提供一个字符串作为第一个参数(js的问题)
|
17天前
|
JavaScript 前端开发
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
14 1
|
23天前
|
JSON JavaScript 数据格式
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
78 2
|
24天前
|
XML JSON API
深入解析C++ JSON库:nlohmann::json:: parse的内部机制与应用
深入解析C++ JSON库:nlohmann::json:: parse的内部机制与应用
42 0
|
JSON API 数据格式
4. JSON字符串是如何被解析的?JsonParser了解一下(下)
4. JSON字符串是如何被解析的?JsonParser了解一下(下)

推荐镜像

更多