Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery JSON.parse异常_Javascript_Jquery - Fatal编程技术网

Javascript jQuery JSON.parse异常

Javascript jQuery JSON.parse异常,javascript,jquery,Javascript,Jquery,这将失败: var obj= JSON.parse('{"a": "\"aa\" vv","b": "b"}'); ->未捕获的SyntaxError:JSON中位于位置8的意外标记a 这里有什么问题?a和v之间的空白? 文件说这应该可以正常工作 thx您需要使用\而不是\ var obj=JSON.parse(“{”a:“\\”aa\\\”vv”,“b:“b”}”); 控制台日志(obj.a); 控制台日志(obj.b)您需要使用\而不是\ var obj=JSON.parse(“{”

这将失败:

 var obj= JSON.parse('{"a": "\"aa\" vv","b": "b"}');
->未捕获的SyntaxError:JSON中位于位置8的意外标记a 这里有什么问题?a和v之间的空白? 文件说这应该可以正常工作


thx

您需要使用
\
而不是
\

var obj=JSON.parse(“{”a:“\\”aa\\\”vv”,“b:“b”}”);
控制台日志(obj.a);

控制台日志(obj.b)您需要使用
\
而不是
\

var obj=JSON.parse(“{”a:“\\”aa\\\”vv”,“b:“b”}”);
控制台日志(obj.a);

控制台日志(obj.b)您应该使用双反斜杠
\\

var obj= JSON.parse('{"a": "\\"aa\\" vv","b": "b"}');
console.log(obj);

您应该使用双反斜杠
\\

var obj= JSON.parse('{"a": "\\"aa\\" vv","b": "b"}');
console.log(obj);

这里解释了simpleObject和object之间的区别,simpleObject和object以字符串形式作为
JSON.parse()的参数使用
\

var realObj={“a”:“aa\”vv,“b”:“b”};//doubleQuote使用single\进行转义,以便doubleQuote成为键值对中值字符串的一部分。因此,单后向斜杠
log(“realObj.a==>”+realObj.a);
log(“realObj.b==>”+realObj.b);
var objfrompassedjson=JSON.parse('{“a”:“\\\”aa\\\“vv”,“b”:“b}')//doubleQuote用double\\s转义,因此JSON.parse的参数也应转义doubleQuote,并在处理后将其解释为\“\\
log(“objfrompassedjson.a==>”+objfrompassedjson.a);

console.log(“objFromParsedJSON.b==>”+objFromParsedJSON.b);
这里解释了
\
\\
之间的区别,simpleObject和作为
JSON.parse()参数的字符串形式的对象的用法。

var realObj={“a”:“\“aa\”vv”,“b”:“b”};//doubleQuote用single\进行转义,使doubleQuote成为键值对中的值字符串的一部分。因此,使用single backwardSlash
log(“realObj.a==>”+realObj.a);
log(“realObj.b==>”+realObj.b);
var objFromParsedJSON=JSON.parse(“{”a:“\\”aa\\\“vv”,“b:“b”}”);//doubleQuote用double\\转义,因此JSON.parse的参数也应转义doubleQuote,并在处理后将其解释为\”。因此,加倍\\
log(“objfrompassedjson.a==>”+objfrompassedjson.a);

log(“objfrompassedjson.b==>”+objfrompassedjson.b)在这里尝试并使用它:转义反斜杠:
var obj=JSON.parse(“{”a:“\\”aa\\\”vv”,“b:“b”}”)请查看我的答案,以解释为什么单转义在这里不起作用。在这里尝试并使用它:转义反斜杠:
var obj=JSON.parse(“{”a:“\\”aa\\\”vv”,“b:“b”}”)请参阅我的答案,以解释为什么单一转义在这里不起作用。arrgh。JSONeditor生成了这个文本。它显然使用不同的转义。这不应该和jQuery本身一样吗?啊。JSONeditor生成了这个文本。它显然使用不同的转义。这不应该与jQuery本身相同吗?