`

返回json数据的Eval格式 ”invalid label” 错 与 JSON.parse

阅读更多

文章来自:http://www.blogjava.net/xskowscut/articles/277283.html

我初学JSON,按照官方说明,在json2.js中有parse和stringify两个方法,parse用于从一个字符串中解析出json对象。还是举个例子说明:

1 var  str  =   " {'name':'x', 'age':23} " ;
2 JSON.parse(str);

原来认为这肯定能够正确执行的,但是无论怎样写这个对象string,都抛出异常。后来发现原来是 " ' 导致的错误。如果改为:

1    var  str = ' { " name " : " xskow " " age " : 23 } ';
2 JSON.parse(str);

就OK了!
还有就是我们写对象的时候一般可以{name:'xskow'},即属性名可以不用双引号括起来,但如果使用JSON.parse的话,每个属性都必须用双引号括起来,否则也会抛出异常。

stringify方法就是和parse功能相反,但是一般对自定义对象也没有异常产生,这里就不说了

 

 

文章来自:http://hi.baidu.com/91youqu/blog/item/ad3e7b1e9ee26dc2a78669c0.html

比如,如下的代码:

function handle_success(response){
       var json = eval(response); // response = "{'foo' : 'bar'}";
  }

浏览器会报,invalid label错, 这是因为, eval会尝试将你的response解释为一个label, 当你在脚本中直接写:

<script>
  {'foo' : 'bar'};
</script>

会报错的原理是一样的.

解决办法有俩个:

var json = eval('(' + response + ')'); // response = "{'foo' : 'bar'}";

或者

eval('var json = ' + response); // response = "{'foo' : 'bar'}";
       //json is available now
分享到:
评论

相关推荐

    JSON2.JS JSON.JS JSON_PARSE.JS

    uses recursive descent instead of eval. json_parse_state: This files contains an alternative JSON parse function that uses a state machine instead of eval. cycle.js: This file contains two functions...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    2. 后台数据的返回格式:在后台处理完毕后,返回的数据需要被编码为JSON格式。PHP是常用于处理请求并返回JSON数据的后端语言之一。在文章中的PHP实例部分,使用了ThinkPHP框架中的M方法来查询数据库,返回的是一个...

    Json数据格式的使用方法入门教程.pdf

    JSON与XML相似,都是基于纯文本的数据格式,但JSON更简洁,解析速度更快。 #### 二、JSON的基本数据类型 JSON支持六种基本数据类型: 1. **字符串**:用双引号括起来的Unicode字符序列,例如`"abc"`。除了一些...

    Ajax中使用JSON传输数据

    JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其易读性、易写性和高效性,成为了Ajax通信中数据传输的首选格式。本篇文章将深入探讨在Ajax中如何使用JSON来传输数据,以及涉及到的相关工具和...

    $.ajax json数据传递方法.docx

    通过该示例代码,可以实现客户端和服务器端之间的数据交互,並使用 JSON 数据格式来传递数据。该方法可以广泛应用于 Web 开发中,以实现异步数据交互和数据传递。 知识点总结: 1. 使用 $.ajax 对象实现异步数据...

    jquery解析JSON数据的方法.docx

    当jQuery从服务器获取数据时,如果数据是以JSON格式返回的,我们可以使用几种方法来解析这些数据。 ### 1. 使用`eval()`函数 在jQuery早期版本和一些不支持JSON解析的浏览器中,经常使用`eval()`函数将JSON字符串...

    巧用eval解析json对象

    在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务与客户端之间的数据传输。它以其简洁、易于读写的特点深受开发者喜爱。本篇将聚焦于如何巧妙地使用`eval`函数来解析...

    JSON中key动态设置及JSON.parse和JSON.stringify()的区别

    本文给大家介绍JSON中key动态设置及JSON.parse和JSON.stringify()的区别讲解,具体详情如下所示: var user_info_json = []; user_info_json[user_info_json.length] = eval&#40;'('+ '{'+ id +': '+ value +'}' +...

    用jquery解析JSON数据的方法20110227

    在JavaScript和jQuery中,解析JSON数据是常见的任务,特别是在与服务器进行异步通信时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在jQuery中...

    jquery.json-2.4.min.js

    在Web开发中,JSON是JavaScript原生格式,这使得JSON成为JavaScript与服务器间交换数据的理想选择。 `jquery.json-2.4.min.js` 是一个jQuery的插件,专门用于处理JSON数据。jQuery是一个广泛使用的JavaScript库,它...

    JS解析后台返回的JSON格式数据实例

    ajax中若没有定义dataType : “json”,需要eval&#40;“(“+data+”&#41;...以上这篇JS解析后台返回的JSON格式数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括JavaScript)的习惯。JSON格式易于人类阅读和编写,同时也易于机器解析和生成。...

    json数据处理技巧(字段带空格、增加字段、排序等等).docx

    例如,在 Web 开发中,我们可以使用 Json 数据处理技巧来处理服务器端返回的数据,在移动应用中,我们可以使用 Json 数据处理技巧来处理本地存储的数据。 Json 数据处理技巧是指对 Json 数据进行处理和操作的技术和...

    浅析Ajax后台success传来json数据的问题.docx

    当使用ASP.NET的普通页面(aspx)时,服务器端可以直接返回JSON格式的数据。在jQuery的Ajax请求中,`dataType`设置为"json",后台代码如示例所示,直接将JSON字符串写入响应流,前端的success回调中的`data`参数...

    js读取解析JSON数据.doc.docx

    在JavaScript中,JSON(JavaScript Object Notation)是一种广泛用于数据交换的轻量级格式。它以纯文本形式表示数据,并且独立于语言,但与JavaScript语法高度兼容。由于JSON是JavaScript原生格式,因此在JavaScript...

    基于ASP的生成Json数据类代码打包.zip

    4. **AJAX交互**:客户端通常使用XMLHttpRequest对象或现代浏览器的fetch API进行异步请求,获取服务器返回的JSON数据,并通过JavaScript解析和处理。 5. **数据类型转换**:在ASP中,需要了解如何将ASP的数据类型...

    net.sf.json.JSONObject所需的jar包

    在JavaScript端,可以使用`eval()`或`JSON.parse()`函数将接收到的JSON字符串转换回JavaScript对象,从而继续处理数据。 总结一下,`net.sf.json.JSONObject`库是Java开发中一个实用的工具,它简化了Java和...

    js下用eval生成JSON对象.docx

    现代浏览器提供了`JSON.parse()`方法,这是一个专为解析JSON设计的安全API,它不会执行任何代码,只会解析JSON格式的数据。 例如: ```javascript let jsonString = '{"name":"boke","age":"23"}'; let jsonObject...

    json上解析对JSON对象前台获取

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript、Perl、Python等)的习惯,这些特性使JSON成为...

Global site tag (gtag.js) - Google Analytics