如何在 Python 2 中从 JSON 获取字符串对象
尽管有 ASCII 编码的文本源,但使用 Python 访问 JSON 数据可以生成 Unicode 对象。某些库需要字符串对象,从而导致兼容性问题。
要在 Python 2 中解决此问题,请考虑使用 PyYAML 作为替代 JSON 解析器:
<code class="python">import yaml json_str = '["a", "b"]' data = yaml.safe_load(json_str)</code>
结果:
['a', 'b'] # String objects
注释:
转换:
如果不能保证 ASCII 值,请使用转换函数来保证字符串对象:
<code class="python">def to_str(obj): if isinstance(obj, unicode): return str(obj) elif isinstance(obj, list): return [to_str(item) for item in obj] elif isinstance(obj, dict): return {to_str(key): to_str(value) for key, value in obj.items()} else: return obj data = json.loads(json_str, object_hook=to_str)</code>
以上是如何在 Python 2 中将 JSON 数据转换为字符串对象?的详细内容。更多信息请关注PHP中文网其他相关文章!