2016-01-26 2 views
5

Привет, я новичок в mongodb, и я хочу преобразовать JSONObject в Document, а затем сохранить его в mongodb. Вот что я закодировал. Я получаю сервис api в json.JSONObject to Document

CloseableHttpResponse response = httpClient.execute(get); 
     HttpEntity entity = response.getEntity();   
     JSONObject Rat = new JSONObject(EntityUtils.toString(entity)); 

тогда я хочу, чтобы сохранить эту Rat в MongoDB в качестве документа, а затем вставьте его в MongoDB или MySQL, так что я могу показать его позже. Я думал, что-то вроде

Document doc = new Document(....); 
coll.insertOne(doc); /*where coll is 
MongoCollection<Document> coll = db.getCollection("rates"); */ 

, но как сделать Convertion от JSONObject на документ?

+0

Я прочитал эту [ссылку] (http://stackoverflow.com/questions/15282181/how-do-i-convert-a-jsonobject-to-class-object) this [link] (http: // stackoverflow.com/questions/18501758/jsonobject-to-jsonarray) и это [ссылка] (http://stackoverflow.com/questions/9151619/java-iterate-over-jsonobject) – user1577708

+0

Я также хочу получить некоторые значения из Крыса. Я уже это сделал. Но все же думать о том, как сохранить JSONObject только для mogno. – user1577708

ответ

7

Драйвер Java MongoDB предоставляет метод Document.parse(String json) для получения экземпляра документа из строки JSON. Вам нужно будет разобрать ваш объект JSON обратно в строку, как это:

Document doc = Document.parse(Rat.toString()); 

И вот docs для работы с JSON в драйвере MongoDB Java.

1

Просто, чтобы помочь вам. Вы также можете сделать:

JSONObject rat = exRat.getJSONObject("fieldfromJson");String newrat = rat.toString(); 

Затем вы должны проанализировать поле, которое хотите, и у вас есть строка.