Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask/Python 3:如何解析包含关联数组的url?_Python_Url_Flask - Fatal编程技术网

Flask/Python 3:如何解析包含关联数组的url?

Flask/Python 3:如何解析包含关联数组的url?,python,url,flask,Python,Url,Flask,我想从这个url中得到一个元组数组,其中包含所有过滤器,页面也是如此 filter = [('product_type', 'audio'), ('feature_configuration_menu' , 'volume')] 我的网址: curl -X GET 'http://127.0.0.1:5000/api/my_resource?filter[product_type]=audio&filter[feature_configuration_menu]=volume&

我想从这个url中得到一个元组数组,其中包含所有过滤器,页面也是如此

filter = [('product_type', 'audio'),  ('feature_configuration_menu' , 'volume')]
我的网址:

curl -X GET 'http://127.0.0.1:5000/api/my_resource?filter[product_type]=audio&filter[feature_configuration_menu]=volume&page[number]=1&page[offset]=5
我正在使用框架flask,python3

@api.route('/my_resource', methods=['GET'])
def my_resource():
   # From `request.args` I would like this :
   # filter = [('product_type', 'audio'),  ('feature_configuration_menu' , 'volume')]

   return jsonify({'key': 'value'})
多谢各位


在PHP中,很容易获得['filter'],它会给你一个数组('product\u type'=>'audio','feature\u configuration\u menu'=>'volume')。为什么Python这么难

不确定flask是否能正确处理您的URL。 如果不完美,我会那样做

您的网址:

http://127.0.0.1:8080/my_resource?filter=product_type-audio&filter=feature_configuration_menu-volume&page=number-1&page=offset-5
WS:

@app.route('/my_resource', methods=['GET'])
def my_resource():
    # From `request.args` I would like this :
    # filter = [('product_type', 'audio'),  ('feature_configuration_menu' , 'volume')]

    filter = [tuple(filter.split('-')) for filter in request.args.getlist('filter')]

    return jsonify(filter)