首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Unaught SyntaxError:如何使用JSON.Analysis的意外令牌?

Unaught SyntaxError:如何使用JSON.Analysis的意外令牌?
EN

Stack Overflow用户
提问于 2018-03-27 23:55:48
回答 2查看 0关注 0票数 0

是什么导致了第三行的错误?

代码语言:txt
复制
var products = [{
  "name": "Pizza",
  "price": "10",
  "quantity": "7"
}, {
  "name": "Cerveja",
  "price": "12",
  "quantity": "5"
}, {
  "name": "Hamburguer",
  "price": "10",
  "quantity": "2"
}, {
  "name": "Fraldas",
  "price": "6",
  "quantity": "2"
}];
console.log(products);
var b = JSON.parse(products); //unexpected token o

打开控制台查看错误

EN

Stack Overflow用户

发布于 2018-03-28 09:30:20

假设你知道它是有效的JSON,但你仍然得到这个...

在这种情况下,可能从字符串中隐藏/特殊字符来自获取它们的任何来源。当你粘贴到验证器中时,它们会丢失 - 但是在字符串中它们仍然存在。那些无形的chars将会被打破JSON.parse()

如果s你的原始JSON,然后清理它:

代码语言:javascript
复制
// preserve newlines, etc - use valid JSON
s = s.replace(/\\n/g, "\\n")  
               .replace(/\\'/g, "\\'")
               .replace(/\\"/g, '\\"')
               .replace(/\\&/g, "\\&")
               .replace(/\\r/g, "\\r")
               .replace(/\\t/g, "\\t")
               .replace(/\\b/g, "\\b")
               .replace(/\\f/g, "\\f");
// remove non-printable and other non-valid JSON chars
s = s.replace(/[\u0000-\u0019]+/g,""); 
var o = JSON.parse(s);
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007817

复制
相关文章

相似问题

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