瓶jsonify:主要的出发与数字

问题描述:

说我要在瓶创建以下JSON文档:瓶jsonify:主要的出发与数字

{"1": {"name": "Tom"}} 

我不能只是叫return jsonify(**kwargs),因为Python禁止变量命名开始与多家,像1

是否有可能用Flask的jsonify创建这样一个JSON文档?如果不是,我的解决方法是什么?

澄清:我想创建一个JSON文档,其中包含由IDS索引类型的字典,并且标识具有的24个十六进制值(ObjectId从MongoDB的)的形式。这意味着大部分时间id将以一个数字开头。

+1

变通方法,为什么你输出1?你想与jsonobject jsonarray呢? – 2013-02-27 08:07:59

由于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关键字参数。