Привет всем, кто знает библиотеку Java, чтобы помочь сериализовать/десериализовать com.mongodb.DBObject
в двоичный файл BSON
и наоборот.com.mongodb.DBObject/BSON serializer для java
0
A
ответ
2
Это довольно просто, вы можете использовать следующие вспомогательные методы:
public static byte[] encode(BSONObject bsonObject) {
BSONEncoder encoder = new BasicBSONEncoder();
return encoder.encode(bsonObject);
}
public static BSONObject readObject(InputStream is) throws IOException {
BasicBSONDecoder encoder = new BasicBSONDecoder();
return encoder.readObject(is);
}
public static BSONObject readObject(byte[] bsonObject) {
BasicBSONDecoder encoder = new BasicBSONDecoder();
return encoder.readObject(bsonObject);
}
1
Когда вам нужен двоичный BSON, т.е. массив байт в формате BSON, вы можете использовать следующую пару:
public byte[] DBObjectToBSON(DBObject dbObject) {
BasicBSONEncoder encoder = new BasicBSONEncoder();
byte bson[] = encoder.encode(dbObject);
return bson;
}
public DBObject BSONToDBObject(byte[] bson) {
BasicBSONDecoder decoder = new BasicBSONDecoder();
JSONCallback callback = new JSONCallback();
decoder.decode(bson, callback);
Object obj = callback.get();
DBObject dbObject = (DBObject) obj;
return dbObject;
}
Вы посмотрели документы MongoDB для своей библиотеки классов? http://api.mongodb.org/java/current/index.html (В частности, 'BasicBSONEncoder' /' Decoder' здесь: http://api.mongodb.org/java/current/index.html?org/ BSON/BasicBSONEncoder.html)? – WiredPrairie
@WiredPrairie Спасибо за ссылку – xybrek