如何解决TypeError:'NoneType' 对象在烧瓶中不可下标
我正在尝试将一些 JSON 数据发布到我设备上运行的 API。但是当我尝试从邮递员发布数据时,我能够成功发送数据,但在端点 TypeError: 'nonetype' object is not subscriptable
基本上我想将数据发布到 API 并在端点显示数据。
这是 JSON 数据,我是从邮递员那里发送的。
{
"platform_details" : "Windows10","architectural_details" : "abc","hostname" : "xyz"
}
import requests
from flask import Flask,request,jsonify,make_response
from flask_restful import Resource,Api
import json,csv,os
app = Flask(__name__)
app.config["DEBUG"] = True
@app.route('/osinfo',methods=['GET','POST'])
def os_data():
req_data = request.get_json()
platform_details = req_data["platform_details"]
architectural_details = req_data["architectural_details"]
hostname = req_data["hostname"]
return '''<h1>
platform_details : {}
architectural_details : {}
hostname : {}
</h1>'''.format(platform_details,architectural_details,hostname)
if __name__ == '__main__':
app.run(host='192.168.1.36',port=5000)
当我像这样在 force=True
中设置 get_json
时
req_data = request.get_json(Force=True)
我收到另一个错误说明 JSONDecodeError: Expecting value: line 1 column 1 (char 0)
附言我是flask和python的新手。
解决方法
使用此代码再次测试。它打印出 JSON 请求:
import requests
from flask import Flask,request,jsonify,make_response
from flask_restful import Resource,Api
import json,csv,os
app = Flask(__name__)
app.config['DEBUG'] = True
@app.route('/osinfo',methods=['GET','POST'])
def os_data():
req_data = request.json
print(req_data)
platform_details = req_data['platform_details']
architectural_details = req_data['architectural_details']
hostname = req_data['hostname']
return jsonify(req_data)
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000)
然后,使用它来发送请求:
resp = requests.post('http://localhost:5000/osinfo',json={'platform_details': 'platform_details','architectural_details': 'architectural_details','hostname': 'hostname'})
json_response = resp.json()
print(response.json())
这将print()
来自服务器的 JSON 响应。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。