将url查询转换为列表的正确方法是什么?

时间:2016-11-14 16:24:53

标签: python url flask

我正在开发一个Flask应用程序,我需要解码url的查询参数,以便在我的函数中使用它们。我想知道转换类似列表字段的最佳做法是什么。目前我在使用urllib.urlencode()将查询发送到服务器之前对其进行编码,以创建类似json的字符串,该字符串将使用此函数进行解码:

def jsonToDict(param):

    try:
        jstring   = json.loads(json.dumps(param)) #this get me a json formatted string
        item      = literal_eval(jstring) # this converts it into a dict
    except:
        return None
    else:
        return item


field     = request.args.get('field')
variable  = jsonToDict(field)

返回字典。如果我想发送一个简单的名称列表:['a','b','c']我可以使用上面的函数与url写成这样:

http://mydomain/query?var=['a'%2C+'b'%2C+'c']

虽然有效,但看起来很笨重。

我的问题是:建议发送如下查询:

 http://mydomain/query?var=a,b,c

如果是这样,从中创建元组/列表的正确方法是什么?使用数字(http://mydomain/query?var=1,2,3)我可以很容易地使用ast.literal_eval()来获取我正在寻找的元组,但是使用字符和字符串它似乎没有办法......任何建议?

0 个答案:

没有答案