2

我目前正在学习mongodb 的 BSON java 库,我正在尝试将org.bson.BSONObject转换为 XML,以便使用XSLT样式表对其进行转换。

我可以在 Mongodb 的 BSONObject 中找到什么样的 java 类型作为值?当然会有:

  • BSONObject(内部文档)
  • java.lang.String
  • ???

其他人是什么?BigDecimal 和 BigInteger ?布尔,整数,长,双?时间戳……等等……??

谢谢,

皮埃尔

4

2 回答 2

6

也必须搜索它,但根据这个mongodb-dev 后映射是这样完成的:

 NULL            null
 UNDEFINED       null
 BOOLEAN         Boolean
 NUMBER          Double
 NUMBER_INT      Integer
 NUMBER_LONG     Long
 SYMBOL          String
 STRING          String
 OID             mongodb ObjectID
 REF             DBPointer
 DATE            Date
 REGEX           Pattern
 BINARY          DBBinary
 CODE            (exception)
 ARRAY           DBList
 OBJECT          DBObject or DBRef
 TIMESTAMP       DBTimestamp
 MINKEY          String: "MinKey"
 MAXKEY          String: "MaxKey" 

mongodb.org 上的这篇文章也是一个很好的资源。

编辑:查看了源代码:org.bson.types.* 有许多 BSON 类型的类。org.bson.BSONDecoder 正在解码 BSON 字符串并执行上面列出的映射。

于 2010-09-16T09:41:41.673 回答
0

在 BSON 上运行的另一种方法是使用Jackson JSON 处理器尽管默认情况下它在 JSON 上运行,但在BSONXML上都有使用它的扩展。由于 Jackson 进行数据绑定,您可以将 BSON 数据绑定到 Java POJO(带bson4jackson)并写成 XML(带jackson-xml-databind)。转换很简单:

String xml = xmlMapper.writeValue(bsonMapper.readValue(bsonData, MyPojo.class));

如果您拥有或可以创建MyPojo映射所有属性的地图;或者如果不指定Map.class为要绑定的中间类型。

于 2011-01-11T04:37:52.507 回答