【问题标题】:Passing 00 in json gives bad request在 json 中传递 00 会产生错误的请求
【发布时间】:2020-08-26 21:12:16
【问题描述】:

当我试图通过时

{
    "features": {
        "ABC": 00,
        "CBK": 3.1,
        "HUF": 16,
        "XYZ": 70
    },
    "id": "70a"
}

我的 POST 请求没有发送到 API 并且 json 给了我 400 bad request 错误

如何将 00 值解析为我的 python 脚本

self.features = request.get_json()['features']

【问题讨论】:

  • 显示您如何在 POST 请求中传递对象。
  • @Barmar:我正在使用 POSTMAN 发送请求。我已经在我的问题中发布了请求。
  • 00 不是有效的 JSON 值。
  • 可能使用字符串引号?
  • 您不能在 JSON 中将其作为整数。

标签: python json rest


【解决方案1】:

JSON 不将 00 视为数字。正如您在下面从https://www.json.org/json-en.html 拍摄的图片中看到的那样,如果数据类型是数字,JSON 在技术上会查找 1-9 之间的任何内容,或者如果是小数则查找点 (.)。

因此,您的问题的解决方案是,您要么需要将值的数据类型转换为字符串并将它们括在 "" 中,要么将用于传递值的 JSON 构建器设置为 0 而不是00.

【讨论】:

    【解决方案2】:

    你需要 00 而不是 0 有什么原因吗?如果你需要保留它,你可以将它设置为一个字符串,否则它只会被评估为 0。

    【讨论】:

    • 特征输入可以是int或float,一旦在python脚本中接收到,我如何将其从字符串转换回原始形式
    猜你喜欢
    • 2011-03-18
    • 2022-01-13
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多