我想在MongoDB指南针中导入json类型的数据, 导入功能给出此错误 “ json输入意外结束”
有一些我的json文件
[
{
'id' :4,
'user' : 'test@example.com',
'date1' :'2019-03-01',
'date2' : '2019-04-01',
'statut' : 'Good',
'guest_number' : 4
}
]
答案 0 :(得分:2)
像这样的缩小对我有用。
{
"_id" : ObjectId("5b9ecf9a64f634289ca895bb"),
"name" : "Mark"
}
{
"_id" : ObjectId("5b9edd9064f634289ca895e4"),
"name" : "David"
}
收件人:
{"_id":"ObjectId(\"5b9ecf9a64f634289ca895bb\")","name":"Mark"}
{"_id":"ObjectId(\"5b9edd9064f634289ca895e4\")","name":"David"}
答案 1 :(得分:2)
只需复制json文件的内容,然后在Mongodb Compass中选择数据库,然后单击Add Data(添加数据),该数据将下拉,然后单击Insert Document(插入文档),弹出一个对话框,然后将其粘贴在其中,然后单击Insert(插入)。
答案 2 :(得分:1)
您的JSON结构不正确,您可能想阅读有关JSON standards
的信息值可以是双引号中的字符串,也可以是数字,也可以是true或false或null,或者是对象或数组。这些结构可以嵌套。
尝试使用双引号而不是单引号:
JSON验证程序也可以帮助您
[
{
"id" : 4,
"user" : "test@example.com",
"date1" : "2019-03-01",
"date2" : "2019-04-01",
"statut" : "Good",
"guest_number" : 4
}
]
答案 3 :(得分:1)
缩小json
{
"_id" : "123456",
"name" : "stackoverflow"
}
更改为:
{"_id":"123456","name":"stackoverflow"}
答案 4 :(得分:1)
这是行尾字符(EOL)的问题。
在Windows环境中,线路终止通常为CR NL(\ r \ n),而MongoDB Compass似乎仅支持CR(\ r)。
您可以在Notepad ++中打开文件,启用工具栏中的“显示所有字符”开关,然后检查当前行尾字符。
要解决此问题,请选择“编辑”>“ EOL转换”>“ Macintosh(CR)”。
答案 5 :(得分:0)
6个月前,我遇到了这个问题,解决方案是将所有JSON写在一行中。
[{"id":4,"user":"test@example.com","date1":"2019-03-01","date2":"2019-04-01","statut":"Good","guest_number":4}]
MongoDB Compass会告诉您:
导入成功!
但是该文档肯定不会出现在您的收藏夹中,因此,如果您要插入json,最好使用Robo3T。然后,您可以像我一样再次使用指南针。 很奇怪,是的,但是我还没有找到其他解决方案。
答案 6 :(得分:0)
解决方案是将所有JSON写在一行中,但是如果我们有一个大型文档!! 我刚刚找到了一种解决方案,可以在终端中使用此命令导入数据:
mongoimport --jsonArray --db YourDatabase --collection YourCollection --file Yourfile.json
答案 7 :(得分:0)
您还可以像这样使用mongodb的命令行:
db.user.insert(
[
{
"id" : 4,
"user" : "test@example.com",
"date1" : "2019-03-01",
"date2" : "2019-04-01",
"statut" : "Good",
"guest_number" : 4
},
{
"id" : 5,
"user" : "test2@example.com",
"date1" : "2019-03-01",
"date2" : "2019-04-01",
"statut" : "Good",
"guest_number" : 4
}
]
答案 8 :(得分:0)
我有一个类似的问题,但事实证明是文件末尾的其他换行符。删除这些可解决问题。我建议在显示换行符的编辑器中打开文件,例如记事本++
答案 9 :(得分:0)
这里的答案Solution为我解决了这个问题。看来是格式问题。
答案 10 :(得分:0)
将--jsonFormat=canonical
添加到mongoexport脚本中:
mongoexport --db=quotes --collection=quotes --jsonFormat=canonical --out=data/quotes.json
JSON仅可以直接表示BSON支持的类型的子集。为了保留类型信息,MongoDB将以下扩展名添加到JSON格式。
答案 11 :(得分:-1)
在cmd中运行此命令,cmd路径应位于JSON文件所在的文件夹中。
mongoimport --jsonArray --db YourDatabase --collection YourCollection --file Yourfile.json