判断我的应用程序在https://jsonlint.com/上的JSON输出表明JSON无效...但我无法理解它为什么是无效的.

有问题的JSON:

{
    records: [{
        id: 70,
        whse: '00',
        partNo: '100E',
        description: '1" EMT CONDUIT (BUNDLE QTY. 1000FT)',
    }],
    start: 0,
    limit: 10,
    count: 1
}

我试着改变了引用的类型,但无济于事.返回的错误对我也没有真正的帮助:

Error: Parse error on line 1:
{   records: [{     id: 70
--^
Expecting 'STRING', '}', got 'undefined'

据我所知,它是有效的JSON.此JSON是在成功执行fetch()之后从Response.json()函数调用中返回的.

推荐答案

你认为这些引语是一个潜在的问题来源,这是正确的.

这是一个有效的JavaScript对象,是的.这意味着如果您执行以下操作,JS解释器将成功理解它:

const variable = {
    records: [{
        id: 70,
        whse: '00',
        partNo: '100E',
        description: '1" EMT CONDUIT (BUNDLE QTY. 1000FT)',
    }],
    start: 0,
    limit: 10,
    count: 1
};

但这不是有效的JSON字符串.如果您想要有效的JSON字符串,则需要将其字符串化如下:

JSON.stringify({
    records: [{
        id: 70,
        whse: '00',
        partNo: '100E',
        description: '1" EMT CONDUIT (BUNDLE QTY. 1000FT)',
    }],
    start: 0,
    limit: 10,
    count: 1
});

结果将是字符串:

{
  "records": [
    {
      "id": 70,
      "whse": "00",
      "partNo": "100E",
      "description": "1\" EMT CONDUIT (BUNDLE QTY. 1000FT)"
    }
  ],
  "start": 0,
  "limit": 10,
  "count": 1
}

(请注意密钥名称两边的双引号)

Node.js相关问答推荐

如何在JavaScript中使用Mongoose将项推送到MongoDB中的重嵌套数组

类扩展值[object object]不是构造函数或null

在 TypeScript 中正确键入 MongoDB find 方法

Node.js中使用ffmpeg如何获取视频截图的位置?

为什么这个 module.export 函数如果我直接传递它就不起作用,但如果我将它包装在一个匿名函数中就可以工作

错误 node :错误:绑定消息提供 16 个参数,但准备语句需要 15 个

错误:无法为 /blog 收集页面数据并且在 object.fetch 处获取失败

错误:0308010C:try 通过 Github 推送部署到 firebase 托管时出现数字

如何防止 Chrome 通过 Selenium 崩溃?

在新创建的 Angular 工作区上运行 ng lint 时出错

错误:无法检测到网络(event="noNetwork",code=NETWORK_ERROR,version=providers/5.6.8)

等到文件上传完成的有效方法(mongoose )

使用服务帐户将 Firebase 应用程序部署到 Heroku(使用 dotenv 的环境变量)

在 Passport 策略回调中获取请求对象

如何使用 Puppeteer 从输入中删除现有文本?

node.js 是否支持yields ?

如何使用适用于 Node.js 的 AWS 开发工具包将 Amazon S3 中的所有对象从一个前缀复制/移动到另一个前缀

向 Stripe 提交付款请求时出现没有此类令牌错误

如何从 npm 注册表中删除 npm 包?

我无法全局安装 nodemon,nodemon无法识别