我的MongoDB中存储了以下JSON:
{
"_id" : ObjectId("54fed786265e7f01d66ca778"),
"id" : "http://some.site.somewhere/entry-schema#",
"schema" : "http://json-schema.org/draft-04/schema#",
"description" : "schema for an fstab entry",
"type" : "object",
"required" : [
"storage"
],
"properties" : {
"storage" : {
"type" : "object",
"oneOf" : [
DBRef("#/definitions/diskDevice", 1),
DBRef("#/definitions/diskUUID", 2),
DBRef("#/definitions/nfs", 3),
DBRef("#/definitions/tmpfs", 4)
]
}
},
"definitions" : {
"diskDevice" : {
},
"diskUUID" : {
},
"nfs" : {
},
"tmpfs" : {
}
}
}
我使用tornado编写了以下python代码来访问这个JSON对象:
^{pr2}$但是,当我试图从浏览器访问它时,终端上显示以下错误:
TypeError: DBRef(u'#/definitions/diskDevice', 1) is not JSON serializable
ERROR:root:500 GET /getspecbyid (::1) 5.53ms
我使用的是MongoDB 2.6版 有人能帮我解决这个问题吗?在
出现异常是因为DBRef不是json可序列化的。在
有一个
bson.json_utils
模块,它有处理mongo实体的loads/dump方法。在因此,
self.write(response)
应该是相关问题 更多 >
编程相关推荐