0
A
回答
0
你是想直接將對象存儲到MongoDB中,還是要使用中間人?例如,您可以編寫一個程序調用URL,接收JSON響應,解析它並插入數據。
您通常可以通過將「.json」添加到URL的末尾來捕獲響應。將生成一個帶有JSON響應的文本文件。下面是一個網站,它可以從一個示例JSON對象生成Java類(只需將文本文件剪切/粘貼到頁面的文本框中):http://pojo.sodhanalibrary.com/
因此,您需要捕獲單個對象的JSON響應,將其粘貼到網站並且會生成一個Java類(或多個類)。在你的項目中加載這個類。 (當然,你不必使用Java,但這就是我用於這個例子的東西。)
然後你編寫一個驅動程序,它可以調用任何你需要的JSON URLs,創建一個臨時類對象爲每個響應,並將值傳遞給數據庫。對於多個JSON響應(我假設你會處理這些響應),您可以通過將JSON頁面動態追加到for循環中的基本URL來實現此目的。
HttpGet request = new HttpGet("https://someSite.com + "/someContainer/" + listOfEndpointsStoredInArray.get(i) + ".json");
每次循環執行時,都會收到一個新的JSON響應。有各種可用於將JSON響應轉換爲對象的軟件包,例如GSON。
棒這種反應爲String:
HttpClient hc = hcBuilder.build();
HttpResponse response = hc.execute(request, hccContext);
HttpEntity body = response.getEntity();
InputStream is = body.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("utf-8")));
String line;
StringBuilder sb = new StringBuilder();
while((line=br.readLine())!=null) { // convert JSON response to String and process the response
sb.append(line);
傳遞響應幫手......
processJSON(sb.toString());
...和喜歡的東西(使用Java這裏)這種解析它:
Gson gson = new Gson();
anObject = gson.fromJson(resp, MyObject.class); // "MyObject" is the class you generated from the JSON response, using http://pojo.sodhanalibrary.com/
現在你已經存儲了一個Java對象,它存儲了JSON對象的所有值。它通過使用常規JDBC連接,像這樣蒙戈到:
Connection conn = null;
Statement stmt = null;
String sql = null;
PreparedStatement pst = null;
try{
Class.forName("com.mongodb.jdbc.MongoDriver");
String url = "jdbc:mongodb://localhost;databasename=myDatabase;";
conn=DriverManager.getConnection(url);
// begin insertion
conn.setAutoCommit(true);
stmt=conn.createStatement();
sql = "INSERT INTO table(value1, value2) "+
" VALUES (?,?);";
pst = conn.prepareStatement(sql);
pst.setString(1,this.getSomevariable1());
pst.setString(2, this.getSomevariable2());
這裏的關鍵是瞭解如何序列化工作。如果你理解這個概念,那麼解決方案是微不足道的。如果你不......好,請學習!不過,JSON和SOAP是很常見的,所以我猜測你不會遇到快速提取它的問題。
相關問題
- 1. 如何將json對象存儲到共享首選項?
- 2. 將對象存儲到NSMutableArray
- 3. Rails:在MongoDB中存儲JSON
- 4. 在MongoDB中存儲JSON
- 5. 在MongoDB中存儲循環對象
- 6. 將對象存儲在localStorage中,該對象不能是json stringify'd?
- 7. 如何將JSON對象存儲到多維數組中
- 8. 將JSON對象存儲到核心數據中
- 9. RavenDB,儲存JSON對象(C#)
- 10. 將對象數組存儲到Arraylist中
- 11. 如何使用python將JSON存儲到mongodb中?
- 12. 如何將主鍵存儲在前端對象中MongoDB
- 13. 在Cookie中存儲JSON對象
- 14. 在列表中存儲Json對象
- 15. 將頁面的幾個元素存儲到JSON對象
- 16. 將字符串存儲到json對象python
- 17. Android將嵌套的JSON對象存儲到ArrayList MultiLevel ExpandableListview
- 18. 如何將json對象存儲到休眠數據庫字段
- 19. 將C結構存儲到MongoDB中
- 20. 將推文存儲到Mongodb中
- 21. 迭代對象數組,並將每個對象保存到MongoDB
- 22. 將數據從JSON保存到對象
- 23. 將對象存儲到數據庫
- 24. 如何將對象存儲到磁盤?
- 25. 將存儲數據映射到對象
- 26. 如何在Laravel 5.2中的Sub Json文檔中存儲Carbon DateTime ISO對象MongoDB
- 27. IBM Bluemix對象存儲庫中的對象總大小和總數
- 28. 如何在MongoDB中存儲泛型JSON?
- 29. 將gwt共享對象轉換爲json
- 30. 將JSON對象存儲在臨時文件中
是的,您可以將完整的JSON對象存儲在MongoDB中。 – notionquest
好吧,謝謝你,但你可以提供任何代碼,但我很困惑它是如何在gradle –
歡迎來到堆棧溢出!您能否在解決問題的努力中獲得更好的標題和更詳細的內容信息? – manetsus