首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsonlint中的JSON有效,但JSON.parse()不起作用

jsonlint中的JSON有效,但JSON.parse()不起作用
EN

Stack Overflow用户
提问于 2018-02-14 03:02:51
回答 2查看 1.7K关注 0票数 2

我有一个在JSONlint中验证过的JSON,但我不能使用JSON.parse(),因为它不工作。这里的JSON有什么问题,如果不能使用JSON.prase(),我的替代方法是什么?

JSON字符串:"{Products: [{Id: 1,Increment: 5,Max: 1000,Min: 25,allowed: false,Desc: product description,Name:Product Name,Qty: 0}]}"

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-14 03:12:31

要使JSON有效,您的对象键必须包含在双引号中:

代码语言:javascript
复制
{ "validKey": 123 }
  ^        ^
  |        |
  ------------- These double-quotes are required!

JSONLint说这没问题,因为你在这里粘贴的时候也粘贴了JSON,用引号括起来:

代码语言:javascript
复制
"{Products: [{Id: 1,Increment: 5,Max: 1000,Min: 25,allowed: false,Desc: product description,Name:Product Name,Qty: 0}]}"

这是一个内部有json的JSON字符串,而不是JSON!

如果您尝试不带引号的JSONLint,您将得到此错误:

代码语言:javascript
复制
Error: Parse error on line 1:
{   Products: [{        Id: 1
--^
Expecting 'STRING', '}', got 'undefined'
票数 2
EN

Stack Overflow用户

发布于 2018-02-14 03:06:12

你的字符串和关键字应该加引号。这是将由JSON.parse()正确解析的有效JSON

代码语言:javascript
复制
{
  "Products": [
    {
      "Id": 1,
      "Increment": 5,
      "Max": 1000,
      "Min": 25,
      "allowed": false,
      "Desc": "product description",
      "Name": "Product Name",
      "Qty": 0
    }
  ]
}

您可以在此处阅读有关该标准的更多信息:https://www.json.org/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48773832

复制
相关文章

相似问题

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