获取接口数据时response.json()和son.loads(ret.text)执行效率

73 篇文章 17 订阅
该文章演示了如何使用Python生成JSON数据并存储到文件中,然后用Flask创建一个API来提供这些数据。接着,进行了性能测试,比较了使用response.json与json.loads(ret.text)两种方式解析JSON数据的效率,结果显示两者性能相近。
摘要由CSDN通过智能技术生成

1、生成数据

import random
import json

dict_json = {}
with open('./new_file.txt', 'a', encoding='utf-8') as f:
    for i in range(100000):
        dic = {f"info_{i}": {"name": f"dgw_{i}", "age": random.randint(21, 35), "sex": random.choice(['男', '女'])}}
        dict_json.update(dic)
    f.write(json.dumps(dict_json))

2、启动项目

from flask import Flask, jsonify
import json

app = Flask(__name__)

with open('./new_file.txt', 'r', encoding='utf-8') as f:
    json_data = json.loads(f.read())


@app.route('/json')
def demo3():
    json_dict = json_data
    return jsonify(json_dict)


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

3、测试执行效率

示例代码:

import requests
import time
import json

start_time1 = time.time()
for i in range(100):
    ret = requests.get('http://127.0.0.1:5000/json')
    print(ret.json())
end_time1 = time.time()

start_time2 = time.time()
for i in range(100):
    ret = requests.get('http://127.0.0.1:5000/json')
    print(json.loads(ret.text))
end_time2 = time.time()

print("response.json方法耗时:", end_time1 - start_time1)
print("json.loads(ret.text)方法耗时:", end_time2 - start_time2)

执行结果:

本人亲测,发现两种方法执行效率几乎是一样的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值