无法解码 JSON 对象:期望值:第 1 行第 1 列(字符 0)</p>

Cat*_*thy 7 json curl flask python-3.x

这个问题有点重复,但我找不到解决方案。当我调用 Flask 应用程序并传递 JSON 数据时,出现错误:

"Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)</p>"
Run Code Online (Sandbox Code Playgroud)

下面是烧瓶代码:

@app.route('/data_extraction', methods=['POST'])
def check_endpoint2():   
    data= request.json()
    result = data['title']
    out={"result": str(result)}
    return json.dumps(out)
    #return 'JSON Posted'
Run Code Online (Sandbox Code Playgroud)

这就是我从 curl 中调用它的方式

curl -i -H "Content-Type: application/json" charset=utf-8 -X POST -d '{"title":"Read a book"}' 127.0.0.1:5000/data_extraction
Run Code Online (Sandbox Code Playgroud)

我也想知道如何curl JSON 文件(test_data.json),会这样吗?

curl -i -H "Content-Type: application/json" charset=utf-8 -X POST -d @test_data.json 127.0.0.1:5000/data_extraction
Run Code Online (Sandbox Code Playgroud)

Dav*_*ith 6

你大部分时间都在那儿。问题是-d覆盖Content-Type您提供的标头。尝试--data代替-d.

并更改data = request.json()data = request.json.