Json转Bson

MongoDB中是以Bson数据格式进行存储的,Json字符串没有办法直接写入MongoDB 可以将Json字符串转换成DBObject或者Document,然后写入MongoDB

1、将Json字符转换成com.mongodb.DBObject(准确的说是BasicDBObject)

scala版本

import com.mongodb.DBObject
import com.mongodb.casbah.{MongoClient, MongoCollection}
import com.mongodb.util.JSON// 构造一个Json字符串
val json = s"""{|  "school_code" : "${school_code}",|  "school_name" : "${school_name}",|  "teacher_idcard" : "${teacher_idcard}",|  "teacher_name" : "${teacher_name}"|}|""".stripMargin

val collection: MongoCollection = MongoClient("10.4.120.83")("dbName")("collectionName")val bson: DBObject = JSON.parse(json).asInstanceOf[DBObject]collection.insert(bson) // mongodb casbah的写法

java版本

import com.mongodb.MongoClient;
import com.mongodb.DBObject;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.util.JSON;// 构造一个Json字符串
String json = " {" +" 'school_code' : '111111', " +" 'school_name' : '汉东政法大学', " +" 'teacher_idcard' : '0000001', " +" 'teacher_name' : '高育良' " +" } ";MongoClient mongoClient = new MongoClient("10.4.120.83", 27017);MongoDatabase database = mongoClient.getDatabase("dbName");MongoCollection<DBObject> collection = database.getCollection("collectionName", DBObject.class);    DBObject bson = (DBObject)JSON.parse(json);collection.insertOne(bson);

2、将字符串转换成org.bson.Document

scala版本

import org.bson.Document
import com.mongodb.casbah.{MongoClient, MongoCollection}
import com.mongodb.util.JSON;// 构造一个Json字符串
val json = s"""{|  "school_code" : "${school_code}",|  "school_name" : "${school_name}",|  "teacher_idcard" : "${teacher_idcard}",|  "teacher_name" : "${teacher_name}"|}|""".stripMargin
val document:Document = Document.parse(json)// 注意!com.mongodb.casbah.MongoCollection只支持写DBObject的子类,
// 不支持写入Document类的对象,可以使用com.mongodb.client.MongoCollection
// 写入Document类的对象,这里能写入是因为用了自定义的隐式转换函数,将
// Document转换成了DBObject// 自定义的隐式转换函数
implicit def document2DBObject(doc: Document): DBObject = JSON.parse(doc.toJson).asInstanceOf[DBObject]val collection: MongoCollection = MongoClient("10.4.120.83")("dbName")("collectionName")collection.insert(document)

Java版本

import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;// 构造一个Json字符串
String json = " {" +" 'school_code' : '111111', " +" 'school_name' : '汉东政法大学', " +" 'teacher_idcard' : '0000001', " +" 'teacher_name' : '高育良' " +" } ";MongoClient mongoClient = new MongoClient("10.4.120.83", 27017);MongoDatabase database = mongoClient.getDatabase("dbName");MongoCollection<Document> collection = database.getCollection("collectionName");  Document document = Document.parse(json);collection.insertOne(document );

MongoDB 将Json数据直接写入MongoDB的方法相关推荐

  1. mongodb mysql json数据_使用MongoDB与MySQL有很多JSON字段?

    所以,直接回答问题- Shall we chose mongodb if half of data is schemaless, and is being stored as JSON if usin ...

  2. python使用selenium爬取斗鱼房间数据并写入mongodb数据库

    本篇文章是对之前斗鱼爬虫的修改,将爬取到的数据直接写入mongodb数据库中 (今天学习到mongodb) from selenium import webdriver import time fro ...

  3. python json 转csv_利用python将json数据转换为csv格式的方法

    假设.json文件中存储的数据为: {"type": "Point", "link": "http://www.dianping. ...

  4. python读取数据库数据、并保存为docx_Python从数据库读取大量数据批量写入文件的方法...

    Python从数据库读取大量数据批量写入文件的方法 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据 ...

  5. Python从数据库读取大量数据批量写入文件的方法

    今天小编就为大家分享一篇Python从数据库读取大量数据批量写入文件的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将 ...

  6. python批量读取文件内容_Python从数据库读取大量数据批量写入文件的方法

    使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做 ...

  7. MVC中利用ViewBag传递Json数据时的前端处理方法

    ** MVC中利用ViewBag传递Json数据时的前端处理方法 ** 用viewBag传递Json字符串到前端时,json字符串中的"会被转义为& quot,前端处理方法为@Htm ...

  8. MongoDB导入json数据

    json数据 在终端输入导入命令: mongoimport --db dbName --collection collectionName --file filePath 实际具体命令: mongoi ...

  9. 导入json数据到Elasticsearch(bulk方法)

    一.前言 在前面几章,基本把本地的环境给配置好了,那么配置好了之后,要做的第一件事当然就是导入数据进去.我这边准备的是一份json数据,这里通过ES的bulk API给导入进去. 二.导入数据 1.批 ...

  10. Gson转换 — json数据转换为Object实体公共方法

    Gson转换 - json数据转换为Object实体 最近在做远程接口调用时,需要对数据进行加解密,因此返回的参数统一为以下json格式 {"code":0,"msg&q ...

最新文章

  1. 还在写大量 if 来判断?试试用一个规则执行器来替代它
  2. 如何应对多GPU大规模训练的挑战?
  3. 走近分形与混沌(part1)--分形是趋于无穷的极限,是画不出来的
  4. 201计算机基础知识,201年计算机应用基础备考练习题及答案
  5. Pose Get的区别
  6. Windows -- Qt不能进行调试 -- Unknown debugger type No Engine
  7. php 批量打印word pdf,Office批量打印精灵教程--Word、PDF、Excel、PPT批量打印
  8. mhdd测试硬盘软件,mhdd硬盘检测工具
  9. js给页面添加随机像素噪声背景
  10. LInux 的流量限制
  11. element-ui的文本框 input加㎡平方米符号
  12. Buy and Resell hdu-6438 贪心 优先队列
  13. note2刷 android 5.0.2,三星Galaxy Note Pro 12.2 Android 5.0.2更新锁定了竞争对手的键盘
  14. web课程设计网页规划与设计:旅游网页主题网站设计——酒店主题绿色温泉度假酒店网页设计(8页)HTML+CSS+JavaScript
  15. Linux新世纪五笔
  16. windows下配置公私钥
  17. 最优化方法1——各类拓扑空间与强弱紧集、下半收敛问题
  18. 报错Failure executing javac, but could not parse the error原因分析
  19. c语言出现开头结尾多空格,C语言除去字符串开头和末尾空格之trim()函数的实现...
  20. STM32(Cortex-M3)中的优先级概念

热门文章

  1. Silverlight概要
  2. 第二章 马尔科夫决策过程和贝尔曼等式-强化学习理论学习与代码实现(强化学习导论第二版)
  3. Python之Numpy操作基础
  4. linux源码安装mysql
  5. Spark大数据计算框架知识总结
  6. Maven-01-私服搭建及使用
  7. Volley,Okhttp,Retrofit源码研究心得大总结
  8. Window下利用命令行提交代码到GitHub
  9. Android设计模式--观察者模式
  10. 理工科学生计算机要求,理工科学生