mongodb 字符串转bson_c# MongoDB实现关于bson和 json的转化?

JsonWriterSettings jsonWriterSettings = new JsonWriterSettings();

jsonWriterSettings.OutputMode = JsonOutputMode.Strict;

var a = docs.ToJson(jsonWriterSettings);

对于objectId类型和时间类型转化出来是这样

[{ "_id" : { "$oid" : "5da97496532e46bef095b9fe" }, "time" : { "$date" : 1571386506000 }, "picture_1" : "123", "picture_2" : "123", "picture_3" : "123", "picture_4" : "123", "goodsintro" : "123", "deletestate" : 0, "state" : "上架", "realsold" : 0, "inventory" : "0", "totalsold" : 0 }]

var a = docs.ToJson();

则是这种

{"_id" : ObjectId("5001047632e3988ad237a206"), "name" : "xx", "date" : ISODate("2012-07-14T05:32:38.189Z")}

使用的驱动是 MongoDB.Driver;MongoDB.Bson;MongoDB.Bson.IO;

那么对于ObjectId 和 ISODate 时间的问题我该如何序列化成正常的json呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将JSON文档数组插入MongoDB,可以使用MongoDB的Java驱动程序和BSON库来实现。 下面是一个简单的示例代码,演示如何将JSON文档数组插入MongoDB。 ```java import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import org.json.JSONArray; import org.json.JSONObject; public class InsertJsonArrayToMongoDB { public static void main(String[] args) { // 创建MongoDB客户端 MongoClient mongoClient = new MongoClient("localhost", 27017); // 获取要使用的数据库 MongoDatabase db = mongoClient.getDatabase("test"); // 获取要使用的集合 MongoCollection<Document> collection = db.getCollection("mycollection"); // 创建JSON文档数组 JSONArray jsonArray = new JSONArray(); JSONObject json1 = new JSONObject(); json1.put("name", "John"); json1.put("age", 30); jsonArray.put(json1); JSONObject json2 = new JSONObject(); json2.put("name", "Mary"); json2.put("age", 25); jsonArray.put(json2); // 将JSON文档数组换为BSON文档数组 Document[] docs = new Document[jsonArray.length()]; for (int i = 0; i < jsonArray.length(); i++) { JSONObject json = jsonArray.getJSONObject(i); Document doc = Document.parse(json.toString()); docs[i] = doc; } // 将BSON文档数组插入MongoDB collection.insertMany(Arrays.asList(docs)); // 关闭MongoDB客户端 mongoClient.close(); } } ``` 需要注意的是,上述代码中将JSON文档数组换为BSON文档数组时,使用了`Document.parse(json.toString())`方法。这是因为MongoDB的Java驱动程序不支持直接将JSONObject对象换为BSON文档对象,需要先将JSONObject对象换为JSON字符串,再使用`Document.parse()`方法将JSON字符串换为BSON文档对象。 如果在插入JSON文档数组时出现错误,可以检查JSON文档的格式是否正确,以及换为BSON文档时是否有误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值