2013-04-20 5 views
0

Привет всем, кто знает библиотеку Java, чтобы помочь сериализовать/десериализовать com.mongodb.DBObject в двоичный файл BSON и наоборот.com.mongodb.DBObject/BSON serializer для java

+0

Вы посмотрели документы MongoDB для своей библиотеки классов? http://api.mongodb.org/java/current/index.html (В частности, 'BasicBSONEncoder' /' Decoder' здесь: http://api.mongodb.org/java/current/index.html?org/ BSON/BasicBSONEncoder.html)? – WiredPrairie

+0

@WiredPrairie Спасибо за ссылку – xybrek

ответ

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; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^