当前位置:  开发笔记 > 编程语言 > 正文

从JSON字符串创建BSON对象

如何解决《从JSON字符串创建BSON对象》经验,为你挑选了5个好方法。

我有Java应用程序从外部应用程序获取数据.传入的JSON位于字符串中.我想解析字符串并创建BSON对象.

不幸的是,我无法在Java的BSON实现中找到API.

我是否像GSON一样使用外部解析器?



1> eskatos..:

官方MongoDB Java驱动程序附带了实用程序方法,用于将JSON解析为BSON并将BSON序列化为JSON.

import com.mongodb.DBObject;
import com.mongodb.util.JSON;

DBObject dbObj = ... ;
String json = JSON.serialize( dbObj );
DBObject bson = ( DBObject ) JSON.parse( json );

驱动程序可以在这里找到:https: //mongodb.github.io/mongo-java-driver/


我确信这对Sunny来说太晚了,但对于其他任何绊倒这个的人来说,C#中的等价物只是`BsonDocument.Parse`

2> yair..:

...而且,从3.0.0开始,您可以:

import org.bson.Document;

final Document doc = new Document("myKey", "myValue");
final String jsonString = doc.toJson();
final Document doc = Document.parse(jsonString);

官方文档:

Document.parse(字符串)

Document.toJson()



3> Hank Gay..:

最简单的方法似乎是使用JSON库将JSON字符串解析为a Map,然后使用该putAll方法将这些值放入a中BSONObject.

这个答案显示了如何使用Jackson将JSON字符串解析为Map.



4> Leticia Sant..:

要将字符串json转换为bson,请执行以下操作:

import org.bson.BasicBSONEncoder;
import org.bson.BSONObject;

BSONObject bson = (BSONObject)com.mongodb.util.JSON.parse(string_json);
BasicBSONEncoder encoder = new BasicBSONEncoder();
byte[] bson_byte = encoder.encode(bson);

要将bson转换为json,请执行以下操作:

import org.bson.BasicBSONDecoder;
import org.bson.BSONObject;

BasicBSONDecoder decoder = new BasicBSONDecoder();
BSONObject bsonObject = decoder.readObject(out);
String json_string = bsonObject.toString();



5> ultimatex..:

Document.parse(String json)从中使用org.bson.Document。它返回Document类型为的对象Bson

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有