mongodb導出jsonjava處理(json導入mongodb)

本文目錄一覽:

java程序中,如何把json對象轉換成mongodb對象,然後存到mongodb數據庫中

你使用的mongodb的Java驅動里有相應的存儲對象的方法,存儲的對象應該是Java對象,所以你需要把json對象轉換成Java對象然後存儲到mongodb中就可以了。

Java如何讀取json文件並將其存入Mongodb數據庫中

因為Java操作mongodb需要使用相關的ORM驅動,所以你最好是讀取json數據後轉成Java對象然後調用驅動方法存入到數據庫中即可。

如何用Java操作MongoDB

HelloWorld程序

學習任何程序的第一步,都是編寫HelloWorld程序,我們也不例外,看下如何通過Java編寫一個HelloWorld的程序。

首先,要通過Java操作Mongodb,必須先下載Mongodb的Java驅動程序,可以在這裡下載。

新建立一個Java工程,將下載的驅動程序放在庫文件路徑下,程序代碼如下:

package com.mkyong.core;

import java.net.UnknownHostException;

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

import com.mongodb.Mongo;

import com.mongodb.MongoException;

/**

* Java + MongoDB Hello world Example

*/

public class App {

    public static void main(String[] args) {

        try {

            //實例化Mongo對象,連接27017端口

            Mongo mongo = new Mongo(“localhost”, 27017);

                               //連接名為yourdb的數據庫,假如數據庫不存在的話,mongodb會自動建立

            DB db = mongo.getDB(“yourdb”);

            // Get collection from MongoDB, database named “yourDB”

//從Mongodb中獲得名為yourColleection的數據集合,如果該數據集合不存在,Mongodb會為其新建立

            DBCollection collection = db.getCollection(“yourCollection”);

    // 使用BasicDBObject對象創建一個mongodb的document,並給予賦值。

            BasicDBObject document = new BasicDBObject();

            document.put(“id”, 1001);

            document.put(“msg”, “hello world mongoDB in Java”);

            //將新建立的document保存到collection中去

            collection.insert(document);

            // 創建要查詢的document

            BasicDBObject searchQuery = new BasicDBObject();

            searchQuery.put(“id”, 1001);

            // 使用collection的find方法查找document

            DBCursor cursor = collection.find(searchQuery);

            //循環輸出結果

            while (cursor.hasNext()) {

            System.out.println(cursor.next());

            }

            System.out.println(“Done”); 

        } catch (UnknownHostException e) {

            e.printStackTrace();

        } catch (MongoException e) {

            e.printStackTrace();

        }

    }

}

最後,輸出的結果為:

{ “_id” : { “$oid” : “4dbe5596dceace565d229dc3”} , 

                “id” : 1001 , “msg” : “hello world mongoDB in Java”}

Done

在上面的例子中,演示了使用Java對Mongodb操作的重要方法和步驟,首先通過創建Mongodb對象,傳入構造函數的參數是Mongodb的數據庫所在地址和端口,然後使用

getDB方法獲得要連接的數據庫名,使用getCollection獲得數據集合的名,然後通過新建立BasicDBObject對象去建立document,最後通過collection的insert方法,將建立的document保存到數據庫中去。而collection的find方法,則是用來在數據庫中查找document。

從Mongodb中獲得collection數據集

在Mongodb中,可以通過如下方法獲得數據庫中的collection:

DBCollection collection = db.getCollection(“yourCollection”);

如果你不知道collection的名稱,可以使用db.getCollectionNames()獲得集合,然後再遍歷,如下:

DB db = mongo.getDB(“yourdb”);

Set collections = db.getCollectionNames();

for(String collectionName : collections){

System.out.println(collectionName);

}

完成的一個例子如下:

package com.mkyong.core;

import java.net.UnknownHostException;

import java.util.Set;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.Mongo;

import com.mongodb.MongoException;

/**

* Java : Get collection from MongoDB

*/

public class GetCollectionApp {

public static void main(String[] args) {

try {

Mongo mongo = new Mongo(“localhost”, 27017);

DB db = mongo.getDB(“yourdb”);

SetString collections = db.getCollectionNames();

for (String collectionName : collections) {

System.out.println(collectionName);

}

DBCollection collection = db.getCollection(“yourCollection”);

System.out.println(collection.toString());

System.out.println(“Done”);

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (MongoException e) {

e.printStackTrace();

}

}

}

Mongodb中如何插入數據

下面,講解下如何使用4種方式,將JSON數據插入到Mongodb中去。首先我們準備JSON

格式的數據,如下:

 

 {

“database” : “mkyongDB”,

“table” : “hosting”,

“detail” :

{

records : 99,

index : “vps_index1”,

active : “true”

}

}

}

我們希望用不同的方式,通過JAVA代碼向Mongodb插入以上格式的JSON數據

第一種方法,是使用BasicDBObject,方法如下代碼所示:

BasicDBObject document = new BasicDBObject();

document.put(“database”, “mkyongDB”);

document.put(“table”, “hosting”);

BasicDBObject documentDetail = new BasicDBObject();

documentDetail.put(“records”, “99”);

documentDetail.put(“index”, “vps_index1”);

documentDetail.put(“active”, “true”);

document.put(“detail”, documentDetail);

collection.insert(document);

第二種方法是使用BasicDBObjectBuilder對象,如下代碼所示:

BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()

.add(“database”, “mkyongDB”)

.add(“table”, “hosting”);

BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()

.add(“records”, “99”)

.add(“index”, “vps_index1”)

.add(“active”, “true”);

documentBuilder.add(“detail”, documentBuilderDetail.get());

collection.insert(documentBuilder.get());

第三種方法是使用Map對象,代碼如下:

 

 Map documentMap =new HashMap();

documentMap.put(“database”, “mkyongDB”);

documentMap.put(“table”, “hosting”);

Map documentMapDetail =new HashMap();

documentMapDetail.put(“records”, “99”);

documentMapDetail.put(“index”, “vps_index1”);

documentMapDetail.put(“active”, “true”);

documentMap.put(“detail”, documentMapDetail);

collection.insert(new BasicDBObject(documentMap));

第四種方法,也就是最簡單的,即直接插入JSON格式數據

String json =”{‘database’ : ‘mkyongDB’,’table’ : ‘hosting’,”+

“‘detail’ : {‘records’ : 99, ‘index’ : ‘vps_index1’, ‘active’ : ‘true’}}}”;

DBObject dbObject =(DBObject)JSON.parse(json);

collection.insert(dbObject);

這裡使用了JSON的parse方法,將解析後的JSON字符串轉變為DBObject對象後再直接插入到collection中去。

完整的代碼如下所示:

packagecom.mkyong.core;

importjava.net.UnknownHostException;

importjava.util.HashMap;

importjava.util.Map;

importcom.mongodb.BasicDBObject;

importcom.mongodb.BasicDBObjectBuilder;

importcom.mongodb.DB;

importcom.mongodb.DBCollection;

importcom.mongodb.DBCursor;

importcom.mongodb.DBObject;

importcom.mongodb.Mongo;

importcom.mongodb.MongoException;

importcom.mongodb.util.JSON;

/**

* Java MongoDB : Insert a Document

*

*/

publicclass InsertDocumentApp {

publicstaticvoid main(String[] args){

try{

Mongo mongo =new Mongo(“localhost”, 27017);

DB db = mongo.getDB(“yourdb”);

// get a single collection

DBCollection collection = db.getCollection(“dummyColl”);

// BasicDBObject example

System.out.println(“BasicDBObject example…”);

BasicDBObject document =new BasicDBObject();

document.put(“database”, “mkyongDB”);

document.put(“table”, “hosting”);

BasicDBObject documentDetail =new BasicDBObject();

documentDetail.put(“records”, “99”);

documentDetail.put(“index”, “vps_index1”);

documentDetail.put(“active”, “true”);

document.put(“detail”, documentDetail);

collection.insert(document);

DBCursor cursorDoc = collection.find();

while(cursorDoc.hasNext()){

System.out.println(cursorDoc.next());

}

collection.remove(new BasicDBObject());

// BasicDBObjectBuilder example

System.out.println(“BasicDBObjectBuilder example…”);

BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()

.add(“database”, “mkyongDB”)

.add(“table”, “hosting”);

BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()

.add(“records”, “99”)

.add(“index”, “vps_index1”)

.add(“active”, “true”);

documentBuilder.add(“detail”, documentBuilderDetail.get());

collection.insert(documentBuilder.get());

DBCursor cursorDocBuilder = collection.find();

while(cursorDocBuilder.hasNext()){

System.out.println(cursorDocBuilder.next());

}

collection.remove(new BasicDBObject());

// Map example

System.out.println(“Map example…”);

Map documentMap =new HashMap();

documentMap.put(“database”, “mkyongDB”);

documentMap.put(“table”, “hosting”);

Map documentMapDetail =new HashMap();

documentMapDetail.put(“records”, “99”);

documentMapDetail.put(“index”, “vps_index1”);

documentMapDetail.put(“active”, “true”);

documentMap.put(“detail”, documentMapDetail);

collection.insert(new BasicDBObject(documentMap));

DBCursor cursorDocMap = collection.find();

while(cursorDocMap.hasNext()){

System.out.println(cursorDocMap.next());

}

collection.remove(new BasicDBObject());

// JSON parse example

System.out.println(“JSON parse example…”);

String json =”{‘database’ : ‘mkyongDB’,’table’ : ‘hosting’,”+

“‘detail’ : {‘records’ : 99, ‘index’ : ‘vps_index1’, ‘active’ : ‘true’}}}”;

DBObject dbObject =(DBObject)JSON.parse(json);

collection.insert(dbObject);

DBCursor cursorDocJSON = collection.find();

while(cursorDocJSON.hasNext()){

System.out.println(cursorDocJSON.next());

}

collection.remove(new BasicDBObject());

}catch(UnknownHostException e){

e.printStackTrace();

}catch(MongoException e){

e.printStackTrace();

}

}

}

 

原創文章,作者:JH1JE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130189.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JH1JE的頭像JH1JE
上一篇 2024-10-03 23:28
下一篇 2024-10-03 23:28

相關推薦

  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分布式文件系統(HDFS)。HDFS是一個可擴展性高的分布式…

    編程 2025-04-29
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27
  • 使用Python獲取JSON並解析

    本文將介紹如何使用Python獲取JSON數據並解析相關內容。通過使用Python的第三方庫,我們可以輕鬆地處理JSON數據,包括讀取、提取和操作JSON數據。 一、獲取JSON數…

    編程 2025-04-27
  • 使用Spread 8展示JSON數據

    使用Spread 8可以方便地展示JSON數據,本文將詳細介紹如何利用Spread 8展示JSON數據。 一、Spread 8簡介 Spread 8是一款強大的電子表格軟件,可以方…

    編程 2025-04-27
  • 如何在json轉實體類時忽略大小寫

    本文將從以下幾個方面介紹如何在json轉實體類時忽略大小寫。 一、使用Gson庫實現json轉實體類忽略大小寫 Gson是Google提供的Java JSON操作庫,它提供了簡單易…

    編程 2025-04-27
  • C# 中 JSON null 不顯示的處理方法

    本文將為大家介紹在 C# 中處理 JSON null 不顯示的解決方法。 一、null 不顯示的問題 在使用 C# 進行 JSON 數據處理的時候,經常會遇到 null 值不顯示的…

    編程 2025-04-27
  • Hive解析JSON詳解

    一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,具有結構清晰、易於讀寫、便於解析等特點。它基於JavaScript的一…

    編程 2025-04-25

發表回復

登錄後才能評論