是否有用于PHP或Java的BSON串行器/解串器库?
答案 0 :(得分:3)
BSON4Jackson的另一种可能性是Jackson扩展,增加了对BSON读/写的支持。
答案 1 :(得分:1)
Java中的BSON编码器/解码器非常简单。以下代码片段来自我的应用程序,因此它位于Scala中。我相信你可以轻松地从中构建Java实现。
import org.bson.BSON
import com.mongodb.{DBObject, DBDecoder, DefaultDBDecoder}
def convert(dbo: DBObject): Array[Byte] =
BSON.encode(dbo)
// NB! this is a stateful object and thus it's not thread-safe, so have
// to create one per decoding
def decoder: DBDecoder = DefaultDBDecoder.FACTORY.create
def convert(data: Array[Byte]): DBObject =
// NOTE: we do not support Ref in input, that's why "null" for DBCollection
decoder.decode(data, null)
def convert(is: InputStream): DBObject =
// NOTE: we do not support Ref in input, that's why "null" for DBCollection
decoder.decode(is, null)
唯一重要的注意事项是DBEncoder
实例在解码过程中具有内部状态(重新),因此它不是线程安全的。如果逐个解码对象应该没问题,否则你最好每个解码会话创建一个实例。
答案 2 :(得分:1)
检查此链接 http://php.net/manual/en/ref.mongo.php
bson_decode - 将BSON对象反序列化为PHP数组
bson_encode - 将PHP变量序列化为BSON字符串
答案 3 :(得分:0)
您可以检查MongoDB驱动程序中的那些语言,因为MongoDB使用BSON。了解他们使用的是什么,或者窃取他们的实施。
答案 4 :(得分:0)
不是为了Java,而是Obj-C的一个: https://github.com/martinkou/bson-objc/
答案 5 :(得分:0)
这是我使用Rapidjson制作的C ++ 11 JSON编码器和解码器,因为原生JSON编码器(BSONObj::jsonString
)对long使用非标准编码:https://gist.github.com/ArtemGr/2c44cb451dc6a0cb46af
此外,与原生JSON编码器不同,此编码器在解码顶级数组时没有问题。