python - 使用 eval 将 json 转换为 dict 是一个不错的选择吗?

标签 python json dictionary eval

我从远程服务器获取一个 json 对象,并将其转换为 python 字符串,如下所示:

a = eval(response)

这在任何方面都是愚蠢的,还是我有更好的选择?

最佳答案

使用 eval 不是处理 JSON 的好方法:

  1. JSON 甚至不是有效的 Python,因为 truefalsenull

    <
  2. eval 将执行任意 Python 代码,因此您将受到恶意代码注入(inject)的威胁。

改用标准库中可用的 json 模块:

import json
data = json.loads("[1, 2, 3]")

如果您使用的 Python 版本早于 2.6,则需要自行下载该模块。它叫做 simplejson 可以是 downloaded from PyPi .

关于python - 使用 eval 将 json 转换为 dict 是一个不错的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282905/

相关文章:

python - 如何在不绑定(bind) IP 的情况下在特定端口上运行服务

python - 在 Python 3 CGI 脚本中设置编码

php - Laravel 解码问题中的 API 响应

Python - 安装模块时如何更改默认路径?

python - 如何解决错误 "can' t 将序列乘以类型 'float' 的非 int ”?

javascript - 如何使用 jQuery 自动完成填充额外字段

使用 Decodable 进行 JSON 解析

python - 如何展平嵌套的字典并在碰撞时使用内部值

python - 使用Python字典编辑图像

swift - 如何在 swift 中对不同字典中同一键的多个值求和?