Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.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
Python 类型错误:';非类型';对象在烧瓶中不可下标_Python_Flask_Get_Postman_Http Post - Fatal编程技术网

Python 类型错误:';非类型';对象在烧瓶中不可下标

Python 类型错误:';非类型';对象在烧瓶中不可下标,python,flask,get,postman,http-post,Python,Flask,Get,Postman,Http Post,我正在尝试将一些JSON数据发布到设备上运行的API。但是,当我试图发布来自postman的数据时,我能够成功地发送数据,但在端点处得到错误TypeError:“NoneType”对象不可订阅 基本上,我希望将数据发布到API并在端点处显示数据 这是我从邮递员那里发送的JSON数据 { "platform_details" : "Windows10", "architectural_details" : "ab

我正在尝试将一些JSON数据发布到设备上运行的API。但是,当我试图发布来自postman的数据时,我能够成功地发送数据,但在端点处得到错误TypeError:“NoneType”对象不可订阅

基本上,我希望将数据发布到API并在端点处显示数据

这是我从邮递员那里发送的JSON数据

{
    "platform_details" : "Windows10",
    "architectural_details" : "abc",
    "hostname" : "xyz"
}
我收到另一个错误,说明JSONDecodeError:期望值:第1行第1列(字符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响应


这是因为您的输出是
html
并且不是有效的
json
文本。使用此
return-jsonify({'response':'Success!','platform\u-details':平台\u-details,'architecture\u-details':体系结构\u-details,'hostname')编辑返回html输出。
。在结束点仍然得到相同的错误
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())