瓶jsonify:主要的出发与数字
问题描述:
说我要在瓶创建以下JSON文档:瓶jsonify:主要的出发与数字
{"1": {"name": "Tom"}}
我不能只是叫return jsonify(**kwargs)
,因为Python禁止变量命名开始与多家,像1
。
是否有可能用Flask的jsonify
创建这样一个JSON文档?如果不是,我的解决方法是什么?
澄清:我想创建一个JSON文档,其中包含由IDS索引类型的字典,并且标识具有的24个十六进制值(ObjectId从MongoDB的)的形式。这意味着大部分时间id将以一个数字开头。
答
由于flask.jsonify
采用相同的参数Python的dict
,你可以给它一个dict
作为参数,让它理清休息:
@app.route('/')
def hello_world():
# note key is an int, not just a string with leading digits
# in your case this could be a mongodb object
return jsonify({1: {'name': 'bob'}})
返回:
{
"1": {
"name": "bob"
}
}
答
方便地,您可以使用... **kwargs
!
>>> def echo(**kwargs):
... print kwargs
...
>>> echo(**{"1":{"name": "Tom"}})
{'1': {'name': 'Tom'}}
是的,你不能手动指定名为1
个别关键字参数...但你可以通过通过**
关键字扩展名为运营商一个1
关键字参数。
变通方法,为什么你输出1?你想与jsonobject jsonarray呢? – 2013-02-27 08:07:59