js 中读取JSON的方法探讨
js读取JSON的方法我接触到的有两种:
方法一:函数构造定义法返回
var strJSON = "{name:'json name'}"//得到的JSON
var obj = new Function("return" + strJSON)()//转换后的JSON对象
alert(obj.name)//json name
方法二:js中著名的eval函数
var strJSON = "{name:'json name'}"//得到的JSON
var obj = eval( "(" + strJSON + ")" )//转换后的JSON对象
alert(obj.name)//json name
第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则
var strJSON = "{name:'json name'}"
var obj = eval(strJSON)
alert(obj.constructor)//String 构造函数
alert(obj.name)//undefine
必须把对象表达式扩起来eval执行才能生成一个匿名对象!
如果要使用js读取json文件,那么ajax操作是必须的了。原生ajax有点麻烦,我想你们项目一定用了什么js库,这里给个jquery的例子:<br>$.get('xx.json路径', function(data){<br> alert(data)// data即为json文件内容里的json数据<br>}, 'json')如果把这个文件的内容读取为纯文本,可以修改$.get的最后一个参数json为text,或者删掉这个参数,默认也是text。