MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase database = mongoClient.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("testCollection");
Document document= Document.parse("{'author' : 'Punama','answer' : 'อาม่า(เจ้าของ)'}");
collection.insertOne(document);
System.out.println("Record inserted.....");
JsonWriterSettings settings = JsonWriterSettings.builder().outputMode(JsonMode.SHELL).build();
FindIterable<Document> findIterable=collection.find();
for(Document doc: findIterable){
System.out.println(doc.toJson(settings));
}
这的doc.toJson(设置)的输出:
{ "_id" : ObjectId("5bc70756d47228167ce6f2a1"), "author" : "Punama", "answer" : "อาม\u0e48า(เจ\u0e49าของ)" }
预期输出:
{ "_id" : ObjectId("5bc70756d47228167ce6f2a1"), "author" : "Punama", "answer" : "อาม่า(เจ้าของ)" }
请帮我做到这一点。的toJSON( - )不打印精确的输出。这将打印的ASCII码。需要输出像 “อาม่า(เจ้าของ)”。
下面的代码解决我的问题,但在蒙戈Java驱动程序弃用3.8版本的传统方法(JSONSerializers.getLegacy())。
串afterSerialization = JSONSerializers.getLegacy()序列化(DOC)。
对不起,我迟到后的答案。我们必须使用org.json.jar摆脱泰国性格问题。
while (cursor.hasNext()) {
Document d=cursor.next();
JSONObject object=new JSONObject(d); //import org.json.JSONObject;
System.out.println(object.toString());
}
这将给予适当的输出。