如何使用单行 python 命令解析 json?

新手上路,请多包涵

我想在批处理脚本中使用 python 来解析 JSON,例如:

 HOSTNAME=$(curl -s "$HOST" | python ?)

curl 的 JSON 输出如下所示:

 '{"hostname":"test","domainname":"example.com"}'

如何使用单行 python 命令执行此操作?

原文由 Chris Snow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 710
2 个回答

基于以下从 curl 命令返回的 JSON …

 '{"hostname":"test","domainname":"example.com"}'

然后,您可以使用 python 使用 python json 模块提取主机名:

 HOSTNAME=$(curl -s "$HOST" |
  python -c \
    'import json,sys;print(json.load(sys.stdin)["hostname"])')

请注意,我使用 \ 拆分了该行,以使其在 stackoverflow 上更具可读性。我还根据 chepner 的 评论简化了命令。

原始出处: 使用 Unix 工具解析 JSON

另见: https ://wiki.python.org/moin/Powerful%20Python%20One-Liners

原文由 Chris Snow 发布,翻译遵循 CC BY-SA 4.0 许可协议

echo '{"hostname":"test","domainname":"example.com"}' | python -m json.tool

原文由 hustljian 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏