转化服务器端传回的JSON数据[Java编程]
本文“转化服务器端传回的JSON数据[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
讲讲JS的内置函数eval()的用法.
最初用到它是为了将后台传送过来的JSON格局的字符串转化为JSON对象.后来发现它的功效的确很强盛,远不止这点,但本日只讲它.假如想深化理解可以参考下W3School.
进入正题:
Java代码
<script>
var json='{"id":1}';
alert(json.id);
</script>
假如细心看,可以发现,上面那段代码弹出的对话框是不能把id显示出来的.缘由就是json只是个字符串对象而并非真正的JSON对象,注意最外边那两个单引号.
Java代码
<script>
var json={"id":1};//去掉单引号
alert(json.id);
</script>
去掉单引号,id就成功显示了.此时的json就是个JSON对象.
目前从服务器端传回的JSON数据就是像第一个例子那样带单引号的,是不能直接利用的.那怎么办呢?
答案就是开首提到的eval()函数.
Java代码
<script>
var json='{"id":1}';
var jsonObj=eval("("+json+")");//注意这一行
alert(jsonObj.id);
</script>
id成功显示.
注意两个要点:
1、json假如只是单个对象,而不是对象数组,如上例所示,则不能直接写成eval(json).
2、不能把eval("("+json+")") 写成eval('("+json+")'),不然id照样不会显示.
再举一例:
Java代码
<script>
var json='[{"id":1}]';
var jsonObj=eval(json);
alert(jsonObj[0].id);
</script>
id照样能成功显示.注意辨别:json包含的是一个对象数组,而非单个对象.但为什么这样便可以,而前面的例子却不可以,我就稀里胡涂了,还请大侠赐教.
以上是“转化服务器端传回的JSON数据[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |