【问题标题】:How to fix json decode error in flask test_client().post()?如何修复烧瓶 test_client().post() 中的 json 解码错误?
【发布时间】:2019-01-16 01:17:34
【问题描述】:

我正在尝试为 Flask JSON API 编写测试套件,但似乎无法将 {"form_id": "data"} 传递给 app.test_client() post() 方法的 json= 参数。

{"form_i": "data"} 工作正常,我尝试设置各种编码选项,但没有任何运气。

with app.test_client() as c:
  test_call = c.post("api/signup/", json={'form_id': 'hi'})

给出以下错误信息:

json.decoder.JSONDecodeError: Expecting value: line 8 column 4 (char 123)

【问题讨论】:

  • 你使用的是什么版本的 Flask?
  • Flask 1.0.2 与 Python 3.7.0

标签: python flask


【解决方案1】:

推荐给你

import json
with app.test_client() as c:
  test_call = c.post("api/signup/", 
                     data=json.dumps({'form_id': 'hi'}), 
                     content_type='application/json')
@app.route('api/signup', methods=['post'])
def signup():
    json = request.json

【讨论】:

    【解决方案2】:

    没关系,原来是另一个错误 - 正在调用一个单独的 JSON 文件并忘记删除尾随逗号...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-07
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 2019-06-09
      • 1970-01-01
      • 2021-07-22
      相关资源
      最近更新 更多