0

当我运行以下命令时:

mongoimport -v -d ntsb -c data xml_results.json --jsonArray

我收到此错误:

2020-07-15T22:51:41.267-0400    using write concern: &{majority false 0}
2020-07-15T22:51:41.270-0400    filesize: 68564556 bytes
2020-07-15T22:51:41.270-0400    using fields: 
2020-07-15T22:51:41.270-0400    connected to: mongodb://localhost/
2020-07-15T22:51:41.270-0400    ns: ntsb.data
2020-07-15T22:51:41.271-0400    connected to node type: standalone
2020-07-15T22:51:41.271-0400    Failed: error processing document #1: invalid character '}' looking for beginning of object key string
2020-07-15T22:51:41.271-0400    0 document(s) imported successfully. 0 document(s) failed to import.

我已经尝试了这个文件中的所有解决方案,但没有任何效果。我的 JSON 文件大小为 60ish MB,因此很难通过它找到括号问题。我相信这可能是 UTF-8 格式的问题?我从网上下载了一个 XML 文件,并使用 Python 脚本将其转换为 JSON。当我尝试 --jsonArray 标志时,它给出了同样的错误。有任何想法吗?谢谢!

4

1 回答 1

0

事实证明,在这个庞大的文件中,有一些不必要的逗号。我能够使用内置在 JSON 解析中的 Python 跳转到有错误的行并手动删除它们。据我所知,无效字符与 } 无关,但与导致它在右括号之前期望另一个值的逗号有关。

解决这个问题后,我仍然无法成功导入,因为现在文件太大了。解决这个问题的技巧是用数组括号 [] 包围所有 JSON 对象并使用以下命令:mongoimport -v -d ntsb -c data xml_results.json --batchSize 1 --jsonArray

几秒钟后,数据成功导入 Mongo。

于 2020-07-17T03:27:14.530 回答