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));
}
This the output of doc.toJson(settings):
{ "_id" : ObjectId("5bc70756d47228167ce6f2a1"), "author" : "Punama", "answer" : "อาม\u0e48า(เจ\u0e49าของ)" }
Expected output:
{ "_id" : ObjectId("5bc70756d47228167ce6f2a1"), "author" : "Punama", "answer" : "อาม่า(เจ้าของ)" }
Please help me to do this. toJson(-) is not printing exact output. It will print ASCII codes. Need output like "อาม่า(เจ้าของ)".
Below code solve my problem but this legacy method(JSONSerializers.getLegacy()) deprecated in mongo java driver 3.8 version.
String afterSerialization=JSONSerializers.getLegacy().serialize(doc);