首頁  >  文章  >  後端開發  >  如何在 Python 2 中從 JSON 檢索字串物件?

如何在 Python 2 中從 JSON 檢索字串物件?

Barbara Streisand
Barbara Streisand原創
2024-11-02 23:49:30237瀏覽

How to Retrieve String Objects from JSON in Python 2?

在Python 2 中從JSON 檢索字串物件

在Python 2 中從ASCII 編碼的文字檔解析JSON 時,字串值會自動轉換到Unicode 物件。當與專門接受字串物件的庫互動時,這可能會帶來問題。

雖然更新到 Python 3 或使用轉換函數是可行的解決方案,但另一個選擇是利用 PyYAML。 PyYAML 提供了一種更直接的方法,透過傳回字串物件作為JSON 檔案的鍵和值:

<code class="python">import yaml

list_org = ['a', 'b']
list_dump = json.dumps(list_org)
json_result = json.loads(list_dump)
yaml_result = yaml.safe_load(list_dump)

print(json_result, type(json_result))  # [u'a', u'b'], <type 'list'>
print(yaml_result, type(yaml_result))  # ['a', 'b'], <type 'list'></code>

請注意,PyYAML 的load 函數必須替換為safe_load 以確保與JSON 的兼容性。此外,雖然 ASCII 編碼的條目會產生字串對象,但使用 Unicode 編碼的條目仍會產生 Unicode 物件。

如果需要將字串物件轉換為 Unicode 對象,可以使用 Mark Amery 的轉換函數:

<code class="python">from mark_amery import unicode_to_str

json_list = json.loads(json_list)
str_list = unicode_to_str(unicode_list)</code>

以上是如何在 Python 2 中從 JSON 檢索字串物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn