首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON.parse:意外字符--语法正确,数据类型为字符串

JSON.parse:意外字符--语法正确,数据类型为字符串
EN

Stack Overflow用户
提问于 2017-01-07 10:48:37
回答 2查看 646关注 0票数 0

我完全不知所措。在尝试使用以下字符串进行JSON.parse()时,我得到了一个异常:

代码语言:javascript
复制
{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}

异常报告的确切错误是:

JSON.parse: JSON数据第1列中的意外字符

根据JSONLint,字符串语法是正确的。我还确认数据类型是字符串。

是什么导致了这一例外?

EN

回答 2

Stack Overflow用户

发布于 2017-01-07 10:56:19

也许你忘了引用字符串了?

代码语言:javascript
复制
console.log(JSON.parse('{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}'))

省略引号将产生一个对象文字:

代码语言:javascript
复制
console.log({"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"})

票数 0
EN

Stack Overflow用户

发布于 2017-01-07 10:58:01

您可能会按字面顺序分配该值,wich是一个对象,而不是字符串,因此:

代码语言:javascript
复制
var invalidJSON = {"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"};

var validJSON = '{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41520579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档