我想在其他讲JSON的程序中使用一些MongoDB命令的原始输出.当我在mongo shell中运行命令时,它们代表Extended JSON个"shell模式"的字段,以及NumberLongDateTimestamp等特殊字段.我在文档中看到了对"strict mode"的引用,但我认为没有办法在shell中启用它,也没有办法在do输出严格JSON(如mongodump)的东西中运行db.serverStatus()这样的命令.如何强制Mongo输出符合标准的JSON?

在这个话题上有several other questions个,但我觉得他们的答案没有一个特别令人满意.

推荐答案

The MongoDB shell speaks Javascript, so the answer is simple: use JSON.stringify(). If your command is db.serverStatus(), then you can simply do this:

JSON.stringify(db.serverStatus())

这不会输出每个字段的正确"严格模式"表示({ "floatApprox": <number> }而不是{ "$numberLong": "<number>" }),但如果您关心的是获得符合标准的JSON,那么这就可以了.

Json相关问答推荐

Vega图表计数聚合如果数据值为空数组则不显示任何内容,如何解决此问题?

Terraform迭代JSON文件以获取键值对

使用JQ将JSON输出转换为CSV复杂 struct

如何在VB6中将字符串转换或解码为可读格式?

JOLT分裂和数组数据

Scala - 在构建 Json 时无法删除 Key -> value "{}" 大括号的双引号

如果有 1 个元素,如何防止 ConvertFrom-Json 折叠嵌套数组

如何使用 ConfigurationBuilder 解析现有的 json 字符串(不是文件)

如何将西里尔字母转换为 utf16

hook到 Decodable.init() 以获得未指定的键?

在PowerShell中按时间戳过滤JSON

使用 Javascript 判断 JSON 对象是否包含值

哪个更好:Json 或 XML (PHP)

Spring MVC 4:application/json内容类型设置不正确

IE中Json响应下载(7~10)

JSON.stringify 不会转义?

使用杰克逊创建一个 json 对象

如何转换为 D3 的 JSON 格式?

处理 HTTP 请求正文中的可选 JSON 字段

如何向 json IAM 策略添加 comments ?