Python写API

json

JSON 是一种纯字符串形式的数据,它本身不提供任何方法(函数),非常适合在网络中进行传输。JavaScript、PHP、Java、Python、C++ 等编程语言中都内置了处理 JSON 数据的方法。

JSON 是基于 JavaScript的一个子集,是一种开放的、轻量级的数据交换格式,采用独立于编程语言的文本格式来存储和表示数据,易于程序员阅读与编写,同时也易于计算机解析和生成,通常用于在 Web 客户端(浏览器)与 Web 服务器端之间传递数据。

在 JSON 中,使用以下两种方式来表示数据:
Object(对象):键/值对(名称/值)的集合,使用花括号{ }定义。在每个键/值对中,以键开头,后跟一个冒号:,最后是值。多个键/值对之间使用逗号,分隔,例如{“name”:“C语言中文网”,“url”:“http://c.biancheng.net”};
Array(数组):值的有序集合,使用方括号[ ]定义,数组中每个值之间使用逗号,进行分隔。

dataframe转json

import pandas as pd
data = [['Google',10],['Runoob',12],['Wiki',13]]
data = pd.DataFrame(data,columns=['Site','Age'],dtype=float)
df=pd.dataframe(data)
df.to_json()

列表字典转json

list转换成json:str_json = json.dumps(list, ensure_ascii=False, indent=2)
json转换成list:list = json.loads(str_json)

import json
list=[]
 json.dumps(list, ensure_ascii=False, indent=2)

图片转json

 plt.plot()#绘图或读入图片
 plt.savefig('test.png')
# 转base64
figfile = BytesIO()
plt.savefig(figfile, format='png')
figfile.seek(0)
figdata_png = base64.b64encode(figfile.getvalue())  # 将图片转为base64
figdata_str = str(figdata_png, "utf-8")  # 提取base64的字符串,不然是b'xxx'
# 用字典的形式保存数据
raw_data = {
    
    }
raw_data["image_base64_string"] = figdata_str
json_data = dumps(raw_data, indent=2)

API

ApiPost

ApiPost下载页:https://www.apipost.cn/download.html
在下图位置输入网址,具体网址参考代码:
在这里插入图片描述
在welcome中输入模型代码
访问:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def welcome():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

app.run(host="localhost", port=5000, debug=True)

这个API的访问网址是:http://127.0.0.1:5000/

接收参数

在ApiPost中写入请求参数:
在这里插入图片描述
在python中接收参数:
获取方法:

	request.form.get("key", type=str, default=None) # 获取表单数据
	request.args.get("key") # 获取get请求参数
	request.values.get("key") # 获取所有参数

实例:

from flask import Flask,request

app = Flask(__name__)

@app.route('/model',methods = ['POST', 'GET'])
def model():
    import json
    def json_request():
        # 接收处理json数据请求
        get_Data = request.args.get('industry')
        #get_Data = get_Data.decode('utf-8')
        return get_Data

    if __name__ == '__main__':
        industry_code = str(json_request())
        print(industry_code)
    a = "finish"
    return a

app.run(host='0.0.0.0', port=8059, debug=True)

具体可参考: https://blog.csdn.net/ling620/article/details/107562294

猜你喜欢

转载自blog.csdn.net/qq_47326711/article/details/126286581