首頁  >  文章  >  後端開發  >  如何在 Python 2 中將 JSON 資料轉換為字串物件?

如何在 Python 2 中將 JSON 資料轉換為字串物件?

Linda Hamilton
Linda Hamilton原創
2024-11-02 06:38:29256瀏覽

How to Convert JSON Data to String Objects in Python 2?

如何在Python 2 中從JSON 取得字串物件

儘管有ASCII 編碼的文字來源,但使用Python 存取JSON 資料可以存取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

註解:

  • PyYAML 傳回 ASCII 編碼資料的字串對象,但傳回 Unicode 編碼資料的 Unicode 物件。
  • 對 JSON 檔案使用 yaml.safe_load()。
  • 要獲得對 YAML 1.2 和低數位解析的更多支持,請使用 Ruamel YAML。

轉換:

如果無法保證 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中文網其他相關文章!

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