js读取json数据

来源:互联网 发布:炒股模拟软件下载 编辑:程序博客网 时间:2024/06/05 07:05

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执行才能生成一个匿名对象!

(参考)--------------------------------------------------------------------------

下面json官方的js,结合ajax来读取解释json结构的数据。

<script>

//直接声明json数据结构 
var myJSONObject = {"bindings": [ 
   {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"}, 
   {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"}, 
   {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"} 

};

alert(myJSONObject["bindings"][0].method); //这里读取节点bindings中第一个数组位置method的值

也可以使用循环来读取

for(var key in myJSONObject){ 
alert(myJSONObject[key][0].regex)
}

</script>

下面是json官方的js文件

<script src="json2.js"></script>

// rtval的值:{"digg":[{"diggnum":"12","offnum":"0","pageviews":"680","username":"dodo"}]}

function callback(rtval)

{

var myJSONObject2=eval("("+rtval+")");
alert(myJSONObject2["digg"][0].diggnum)

}

</script>

0 0
原创粉丝点击