python - Json.loads() 字符串,表示具有 unicode 值的字典
问题描述
我有一个命令行工具,它接受代表字典的字符串并运行流量
warp_cli -j '{"warp_ip":"172.18...
Robot Framework 正在生成这些字典的一部分并注入 unicode 键u'TCP'
。如果有一个 unicode 键被传递给我得到的字典:
ValueError: No JSON object could be decoded
例子:
import json
streams = [
{
"burst_loop_count": "500",
"protocol": u"TCP",
"tcp_src_port": "10000",
},
{
"burst_loop_count": "500",
"protocol": u"TCP",
"tcp_src_port": "10000"
}
]
def _create_streams_arg(streams):
return str(streams).replace("'", '"')
print(json.loads(_create_streams_arg((streams))))
有没有办法:将映射str(x) or x.encode("ascii", "ignore")
到所有值,Streams
或者有没有办法json.loads()
正确加载包含 unicode 的东西?
我得到了它的工作:
def _encode(streams):
encoded = []
for stream in streams:
encoded.append({str(k): str(v) for k, v in stream.iteritems()})
return encoded
但我希望可能有一个更清洁的解决方案
解决方案
推荐阅读
- java - 无法在 CircleCI 上本地安装 Selenium
- python - 需要帮助编写一个值来自文件的字典
- html - 如何在 CSS 中为背景图像设置动画?
- c++ - 通过引用传递给信号处理程序
- python - 带时区的 Python 脚本在向后移植到 python 2.7 时失败
- assembly - 在这段代码中比较 CMP AL, 1 的目的是什么?
- kubernetes - Ingress 伪造 SSL 证书
- java - MobileFirst 8.0 用户认证 LDAP 错误
- html - 无法显示对象
- python - 简单的烧瓶应用服务器使用 ajax 和 jquery 传递数据