使用 MongoDB Driver Java API 将 BSON 转换为 JSON

2023-11-24

我正在使用 MongoDB Driver Java API 将 BSON 转换为 JSON。 我有这样的测试代码。

String input = "{ \"timestamp\" : 1486064586641 }";
org.bson.Document doc = org.bson.Document.parse(input);
System.out.println("input  = " + input);
System.out.println("output = " + doc.toJson());

输出是:

input  = { "timestamp" : 1486064586641 }
output = { "timestamp" : { "$numberLong" : "1486064586641" } }

有没有一种简单的方法可以使输出看起来像输入?


BSON Documnet的toJson方法仅支持输出到MongoDB 扩展 JSON(STRICT 或 SHELL 格式)。如果你想要常规的 JSON,你可以使用com.mongodb.util.JSON class:

String input = "{ \"timestamp\" : 1486064586641 }";
org.bson.Document doc = org.bson.Document.parse(input);
System.out.println("input  = " + input);
System.out.println("output (SHELL) = " + doc.toJson(new JsonWriterSettings(JsonMode.SHELL)));
System.out.println("output (STRICT) = " + doc.toJson(new JsonWriterSettings(JsonMode.STRICT)));
System.out.println("output (JSON) = " + com.mongodb.util.JSON.serialize(doc));

这将生成以下输出:

input  = { "timestamp" : 1486064586641 }
output (SHELL) = { "timestamp" : NumberLong("1486064586641") }
output (STRICT) = { "timestamp" : { "$numberLong" : "1486064586641" } }
output (JSON) = { "timestamp" : 1486064586641}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MongoDB Driver Java API 将 BSON 转换为 JSON 的相关文章

随机推荐

  • Cassandra select 语句中 where 子句后 OR 条件的替代方案

    在 Cassandra 中 是否可以像在任何 RDBMS 中一样 在 select 语句中的 where 子句之后使用多个条件联合在一起 这是我的代码 SELECT from TABLE NAME WHERE COND1 something
  • 在 Linux 中从 C 连接到 Matlab 引擎

    我正在尝试从 Linux 上的 C 程序 Matlab r2009a Ubuntu 9 10 以编程方式调用 Matlab 引擎 我已经有了自己的代码 可以在 Windows 中运行 但现在我只是想让 Matlab engdemo c 程序
  • 是否有使用可能/不可能提示的性能测试结果?

    海湾合作委员会的特点可能 不太可能的提示帮助编译器生成具有更好分支预测的机器代码 是否有任何数据表明正确使用或未能使用这些提示如何影响某些真实系统上真实代码的性能 问题有所不同 但是彼得 科德斯的回答 on 这个问题给出了明确的提示 现代
  • 具有四核处理器的笔记本电脑中的 Java 多线程

    我正在阅读 Java 教程 其中提到实际的多线程不会发生在具有单个处理器的机器中 它提到操作系统为 Java 进程分配指定的时间 而 JVM 线程调度程序会挑选线程在一小段时间内一次运行一个线程 我有一台四核处理器的笔记本电脑 通过在每个核
  • 如何在构建 JSON 字符串时转义特殊字符?

    这是我的字符串 user name abc fx message color red user color blue timestamp 2013 10 04T08 10 41 0100 message I mABC nanotime 19
  • 无法禁用网站的 SSL

    我创建了一个网站并将其部署到 Windows Azure 在开发过程中的某个地方 我从项目属性启用了 SSL 并且所有内容 https 地址 在本地主机和我部署站点的 Azure 网站上都工作正常 现在我的 Azure 试用版即将到期 我正
  • 在 iPhone 应用程序中从磁盘加载图像很慢

    在我的 iPhone 应用程序中 我使用 iPhone 的相机拍照并将其保存到磁盘 应用程序的文档文件夹 这就是我保存它的方式 UIImageJPEGRepresentation photoTaken 0 0 writeToFile jpe
  • 默认虚拟d'tor

    让我们假设我有两个课程 class Base class Derived public Base 没有人有 d tor 在这种情况下 如果我声明变量 Base b Derived d 我的编译器将为我生成 d tors 我的问题是 默认的
  • PDO 错误:“参数号无效:参数未定义”

    我正在尝试使用一个简单的 MySQL 插入查询 其参数采用数组形式 它一直告诉我参数数量错误 我已尝试以下操作 均产生相同的错误 stmt3 link gt prepare INSERT INTO messages VALUES null
  • Java 使用什么哈希函数来实现 Hashtable 类?

    从CLRS 算法导论 一书中 有几种哈希函数 例如mod multiply等 Java 使用什么哈希函数将键映射到槽 我看到这里有一个问题Java语言中使用的哈希函数 但它没有回答问题 而且我认为该问题的标记答案是错误的 它说 hashCo
  • C++ STL unordered_map 如何解决冲突?

    C STL unordered map 如何解决冲突 看着http www cplusplus com reference unordered map unordered map 它说 独特的钥匙 容器中的两个元素不能具有相同的键 这应该意
  • 如何优雅地耗尽EKS中的节点?

    有时我们需要排出 Kubernetes 中的节点 当我手动设置 k8s 集群时 我可以耗尽特定节点 然后终止该机器 在 EKS 中 节点位于自动缩放组下 这意味着我无法终止特定实例 节点 如果我手动终止一个实例 另一个实例 节点 将自动添加
  • 从 Google Cloud Storage 加载 csv 文件时出现 BigQuery 错误

    我正在尝试加载 a 的数据csv保存在的文件GCS into BigQuery csv 文件位于UTF 8格式 包含 7 列 我已经在数据方案中指定了这些列 所有字符串和可为空的 并且我已经检查了 csv 文件的内容 这看起来很好 当我尝试
  • windows下hadoop启动tasktracker出现问题

    我正在尝试在Windows下使用hadoop 当我想启动tasktracker时遇到问题 例如 bin start all sh 然后日志写道 2011 06 08 16 32 18 157 ERROR org apache hadoop
  • $(document).ready() 什么时候触发?

    评论来自这个问题让我思考一些事情 具体什么时候 document ready 功能火 显而易见的答案是 当文档准备好时 但具体是什么时候呢 例如 如果我在 PHP 继续执行时打开输出缓冲并刷新输出 这不会将输出发送到浏览器吗 那么 有什么方
  • “程序入口点...无法定位”在错误的 DLL 中

    我已经从 Haskell 代码创建了一个 DLL 并从 C 调用这个 DLL 当我在 Visual Studio 2010 中以调试模式运行时 我的应用程序工作正常 但是当我进行发布构建并安装它时 出现错误 无法在动态链接库 Advance
  • 在 ASP.Net 中,<%= 和 <%# 之间有什么区别[重复]

    这个问题在这里已经有答案了 在 ASP Net 中 有什么区别 and 看这个问题 什么时候应该在 ASP NET 控件中使用 和 这些答案的摘要 有几种不同的 蜂蜇
  • 通过字符串获取C#动态属性的值

    我想访问 a 的值dynamic带有字符串的 C 属性 dynamic d new value1 some value2 random value3 value 如果我只有 value2 作为字符串 如何获取 d value2 随机 的值
  • 颤动中的视频背景

    flutter 中可以一直播放背景视频吗 我正在寻找一些软件包并试图使其发挥作用 但我不知道如何 也许使用类似的东西 但带有视频 decoration new BoxDecoration image new DecorationImage
  • 使用 MongoDB Driver Java API 将 BSON 转换为 JSON

    我正在使用 MongoDB Driver Java API 将 BSON 转换为 JSON 我有这样的测试代码 String input timestamp 1486064586641 org bson Document doc org b