首页 > 解决方案 > Python 命令行单线器使用 xmltodict 将 xml 转换为 json

问题描述

尝试使用 xmltodict 将 xml 文件转换为 json 编写一个 python one liner。似乎直接从 sys.stdin 或作为 sys.stdin.buffer.read() 读取存在问题。

python -c 'import xmltodict, sys, json; json.dump(xmltodict.parse(sys.stdin, process_namespaces=True), sys.stdout, indent=4);' < foo.xml > bar.json

标签: pythonjsonxmlxmltodict

解决方案


你需要read()标准输入 - 现在你只是试图解析底层TextIOWrapper

python -c 'import xmltodict, sys, json; json.dump(xmltodict.parse(sys.stdin.read(), process_namespaces=True), sys.stdout, indent=4);' < foo.xml > bar.json
                                                                            ^-- Here

推荐阅读