【问题标题】:Get JSON response in Python, but in original JavaScript format在 Python 中获取 JSON 响应,但采用原始 JavaScript 格式
【发布时间】:2018-11-09 10:28:50
【问题描述】:

我通过requests.json() 将 JSON 响应放入变量中,如下所示:

response = requests.get(some_url, params=some_params).json()

然而,这会将 JSON 的原始 " 转换为 Python 的 'trueTruenullNone

这会在尝试将响应保存为文本并将其转换回 JSON 时出现问题 - 当然,我可以使用 .replace() 进行上述所有转换,但即使我这样做了,我也会得到其他有趣的 json 解码器错误。

在 Python 中有什么方法可以获取 JSON 响应并保持原始 JavaScript 格式?

【问题讨论】:

    标签: python json python-requests


    【解决方案1】:

    json() 是 JSON 解码器 方法。您正在查看一个 Python 对象,这就是它看起来像 Python 的原因。

    其他格式在同一页列出,从Response Content开始

    • .text: text - 它没有单独的链接/段落,它就在“响应内容”下
    • .content:二进制,以字节为单位
    • .json():解码后的 JSON,作为 Python 对象
    • .raw:流式传输字节(因此您可以随时获取部分内容)

    您需要.text 来获取文本,包括 JSON 数据。

    【讨论】:

    • 另一个选项是再次序列化对象。这将确保它是有效的,并且它们都具有相同的格式。这意味着它们不会被逐字保存。取决于用例。
    【解决方案2】:

    您可以通过requests.get(some_url, params=some_params).text获取回复的原始文本

    json 方法转换为 Python 友好格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-18
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      相关资源
      最近更新 更多