gpt4 book ai didi

java - 将数据导入 mongodb 时出现 JSONParseException

转载 作者:太空宇宙 更新时间:2023-11-04 13:24:54 24 4
gpt4 key购买 nike

我正在尝试使用 Java 驱动程序将 json 文件导入 Mongodb,但出现此异常

Exception in thread "main" com.mongodb.util.JSONParseException: at com.mongodb.util.JSONParser.read(JSON.java:301) at com.mongodb.util.JSONParser.parseString(JSON.java:455) at com.mongodb.util.JSONParser.parse(JSON.java:204) at com.mongodb.util.JSONParser.parseObject(JSON.java:263) at com.mongodb.util.JSONParser.parse(JSON.java:227) at com.mongodb.util.JSONParser.parse(JSON.java:155) at com.mongodb.util.JSON.parse(JSON.java:92) at com.mongodb.util.JSON.parse(JSON.java:73)

在大约 200000 个文档中,只有大约 4000 个文档被导入到数据库中。谁能告诉我应该如何解决这个问题?任何帮助将不胜感激。

以下是我编写的代码:

class ClickApp {

public static void main(String[] args) {

ClickApp cl = new ClickApp();

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("db");
DBCollection collection = db.getCollection("col");

cl.JsonfiletoMongodb("/home/jsonfile/ClickApp.json", db, collection);

}

public void JsonfiletoMongodb(String pathToFile, DB db, DBCollection coll) {
// open file
FileInputStream fstream = null;
try {
fstream = new FileInputStream(pathToFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("File not found");
return;
}
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));


String str;

try {
while ((str = br.readLine()) != null) {

DBObject dbObject;
dbObject = (DBObject) JSON.parse(strLine);
try {
coll.insert(dbObject);
}
catch(MongoException e) {
e.printStackTrace();
}
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}

}

}

最佳答案

您可以做的另一件事是将 json 内容粘贴到 http://jsonlint.com/ 中,您可以确定 json 内容中是否存在任何问题。

然后如果json内容没有问题,使用mongoimport.exe快速导入数据。

关于java - 将数据导入 mongodb 时出现 JSONParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32757587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com