【问题标题】:Convert Bson to Json object将 Bson 转换为 Json 对象
【发布时间】:2017-05-17 13:06:51
【问题描述】:

Crome 开发者工具显示这个

console.log('DATA*** ', data[0]._id);

错误: DATA*** Object {_bsontype: "ObjectID", id: "YIä↵P¨H0"}

如何将其转换为普通的 JSON 对象?

【问题讨论】:

标签: javascript json node.js mongodb bson


【解决方案1】:

您正在寻找的是 JSON.stringify()

JSON.stringify(objectToSerialize)

【讨论】:

    【解决方案2】:

    你需要使用 JSON.stringify() 然后 JSON.parse() 将 bson 转换为有效的 json。

    const dataString = JSON.stringify(data[0]);
    const parsed = JSON.parse(dataString);
    
    console.log(parsed._id);
    

    其他 bson 类型可能会在 Canonical format 中为您提供相关的表示。例如,如果您在 mongodb 中使用了 decimal bsonType,它将显示如下:

    ...(continuing from code block above)
    
    console.log(parsed.aDecimalNumber); // { $numberDecimal: 1.00 }
    
    

    【讨论】:

      【解决方案3】:

      您想在 id 字段上调用 ​​.tostring() 函数。

      objectId 作为一种特殊类型保存在十六进制中以减小大小。您需要使用 toString 函数将其转换为 24 ascii char 字符串

      https://github.com/mongodb/js-bson/blob/1.0-branch/lib/bson/objectid.js#L171-L179

      console.log('DATA*** ', data[0]._id.toString());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-31
        • 1970-01-01
        • 1970-01-01
        • 2016-03-23
        • 2017-06-16
        • 2014-11-03
        • 2015-10-01
        • 2017-01-03
        相关资源
        最近更新 更多