python flask里 post请求,JSON数据获取方式总结

时间:2024-12-23 22:04:20
#!flask/bin/python
#encodig=utf-8
# _*_ coding:utf-8 _*_
# Writer : byz
# dateTime : 2016-08-05
from flask import Flask, jsonify, request, abort
import json
app = Flask(__name__)

@app.route('/ana', methods=['GET', 'POST'])
def call_analysis():
    print "Hello, World!"
    # if not request.json:(NO)
    #   abort(400)
    #
    # # data = request.get_json['appIds'] (NO)
    # # 

可用方式一:
    data = request.data   ----获取的是字符串
    # 

可用方式二:
    data = request.get_data()  ----获取的是字符串
    #

(方式一和方式二得到的是原始提交的数据)

    j_data =  json.loads(data) -----load将字符串解析成json

    print "j_data", j_data['language'] 

    return jsonify(task_j)
    # return jsonify({'task': runAnalysis(data)}), 201

json模块编码: json.dumps()
json模块解码:解码python json格式,用json.loads()

还可以用request.get_json(),直接获取json数据,比如前端传来的是一个字典,这样获取的就是字典,不需要json.dumps

   - request
            - request.form   #POST请求的数据
            - request.args   #GET请求的数据,不是完全意义上的字典,通过.to_dict可以转换成字典
            - request.querystring  #GET请求,bytes形式的
        - response
            - return render_tempalte()
            - return redirect()
            - return ""
            v = make_response(返回值)  #可以把返回的值包在了这个函数里面,然后再通过.set_cookie绑定cookie等
        - session
            - 存在浏览器上,并且是加密的
            - 依赖于:secret_key