📜  mongoimport 失败:无效的 JSON 输入.位置:74.字符:I (1)

📅  最后修改于: 2023-12-03 14:44:23.028000             🧑  作者: Mango

介绍:mongoimport 失败:无效的 JSON 输入

当使用 mongoimport 命令导入数据时,有时会遇到 "Invalid JSON input. Position: 74. Character: I" 这样的错误提示,这个错误提示告诉我们在第74个字符,即 I 处出现了无效的JSON输入。

原因

这个错误通常是由于导入的数据文件不是有效的JSON格式而导致的。mongoimport只能导入符合JSON格式的数据文件。

可能会出现以下情况:

  • 数据文件中缺少引号
  • 数据文件中的属性名没有用引号括起来
  • 数据文件中的属性值没有用引号括起来
  • 数组没有用方括号括起来
  • 数组元素之间没有用逗号分隔
解决方法

要解决这个错误,您需要确保将数据文件转换为有效的JSON格式。

您可以首先对数据文件进行验证确认是否为有效的JSON格式,通过以下步骤进行:

  1. 打开终端或命令行
  2. 进入数据文件所在的目录
  3. 输入 cat <filename>.json | python -m json.tool 来验证文件是否为真正的JSON格式,其中<filename>.json换成你数据文件的名字。

如果文件是无效的,您需要对其进行修复。修复方法包括手动在合适的位置添加引号,方括号,逗号等。

另外,您也可以使用在线JSON验证工具来验证和修复数据文件。

代码片段

以下是一个示例JSON数据文件:

{
  "name": "John Doe",
  "age": 30,
  "email": "john.doe@example.com"
  "hobbies": [
    "reading",
    "sports",
    "traveling"
  ]
}

如果您尝试导入此文件,您将收到与上述错误消息类似的错误消息,因为在键值对 "email": "john.doe@example.com" 之后缺少逗号。 所以,您需要在该行的末尾添加一个逗号来修复这个错误:

{
  "name": "John Doe",
  "age": 30,
  "email": "john.doe@example.com",
  "hobbies": [
    "reading",
    "sports",
    "traveling"
  ]
}