首页 > 解决方案 > 通过python在mongodb上查询创建json

问题描述

使用 python 创建 api 并使用此代码

def findusers():
    x = mycollection_users.find()
    return x

@app.route('/api/users', methods=['GET'])
def users():
    db = findusers()
    js = jsonpickle.encode(db)
    return Response(response=js, status=200, mimetype="application/json")
app.run(host="0.0.0.0", port=4000)

那么json是:

{
    "py/iterator": [
        {
            "City": "Us",
            "Phone": "02",
            "_id": 1,
            "name": "Tom"
        },
        {
            "City": "EN",
            "Phone": "11",
            "_id": 2,
            "name": "Jack"
        },
    ],
    "py/object": "pymongo.cursor.Cursor"
}

如何删除 "py/iterator": 和 "py/object": pymongo.cursor.Cursor?我想要这种格式:[{},{}]

标签: pythonjsonmongodbapi

解决方案


这看起来怎么样?如果您不希望字典中有这两个键,您可以简单地访问您关心的部分。

>>> a = {
...     "py/iterator": [
...         {
...             "City": "Us",
...             "Phone": "02",
...             "_id": 1,
...             "name": "Tom"
...         },
...         {
...             "City": "EN",
...             "Phone": "11",
...             "_id": 2,
...             "name": "Jack"
...         },
...     ],
...     "py/object": "pymongo.cursor.Cursor"
... }
...
>>> b = a['py/iterator']
>>> print(b)
[{'City': 'Us', '_id': 1, 'name': 'Tom', 'Phone': '02'}, {'City': 'EN', '_id': 2, 'name': 'Jack', 'Phone': '11'}]

推荐阅读