如何在Python 2 中從JSON 檢索字串物件
在Python 2 中從ASCII 編碼的文字檔案解析JSON 資料時,解析JSON您可以遇到字串值轉換為Unicode 物件的問題。使用僅接受字串物件的庫時,這可能會出現問題。
輕量級解決方案:PyYAML
要解決此問題,您可以利用 PyYAML 函式庫。由於 JSON 是 YAML 的子集,因此可以使用 PyYAML 來解析 JSON 檔案並將鍵和值作為字串而不是 Unicode 物件傳回。以下是範例:
<code class="python">import yaml original_list = ['a', 'b'] yaml_list = yaml.safe_load(yaml.dump(original_list)) print(type(yaml_list[0])) # Output: <class 'str'></code>
轉換方法
如果您無法使用 PyYAML,請考慮使用轉換函數。 Mark Amery 的轉換函數簡單有效:
<code class="python">def unicode_to_str(obj): if isinstance(obj, unicode): return obj.encode('utf-8') elif isinstance(obj, list): return [unicode_to_str(x) for x in obj] elif isinstance(obj, dict): return {unicode_to_str(k): unicode_to_str(v) for k, v in obj.items()} return obj</code>
注意事項:
以上是如何在 Python 2 中從 JSON 取得字串物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!