小编Pet*_*aur的帖子

如何使用Python将MongoDB的bsondump转换为JSON?

所以我从MongoDB转储中获得了大量的.bson.我在命令行上使用bsondump,将输出作为stdin传递给python.这成功地从BSON转换为'JSON',但它实际上是一个字符串,看似不合法的JSON.

例如,传入的行看起来像这样:

{ "_id" : ObjectId( "4d9b642b832a4c4fb2000000" ),
  "acted_at" : Date( 1302014955933 ),
  "created_at" : Date( 1302014955933 ),
  "updated_at" : Date( 1302014955933 ),
  "_platform_id" : 3,
  "guid" : 72106535190265857 }
Run Code Online (Sandbox Code Playgroud)

我相信的是Mongo Extended JSON.

当我读到这样一行并做:

json_line = json.dumps(line)
Run Code Online (Sandbox Code Playgroud)

我明白了:

"{ \"_id\" : ObjectId( \"4d9b642b832a4c4fb2000000\" ),
\"acted_at\" : Date( 1302014955933 ),
\"created_at\" : Date( 1302014955933 ),
\"updated_at\" : Date( 1302014955933 ),
\"_platform_id\" : 3,
\"guid\" : 72106535190265857 }\n"
Run Code Online (Sandbox Code Playgroud)

哪个还是<type 'str'>.

我也试过了

json_line = json.dumps(line, default=json_util.default)
Run Code Online (Sandbox Code Playgroud)

(请参阅pymongo …

python json mongodb bson

22
推荐指数
3
解决办法
2万
查看次数

标签 统计

bson ×1

json ×1

mongodb ×1

python ×1