使用 JSON 資料時,了解 JSON 物件和 JSON 字串表示形式之間的區別至關重要。這種區別會影響我們操作和存取資料的方式。
在提供的程式碼中:
import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) file.write(str(r['rating']))
問題是由於使用 json.dumps() 並隨後嘗試存取結果字串中的鍵。 json.dumps() 將字典轉換為 JSON 物件的字串表示形式,而不是 JSON 物件本身。這意味著我們無法直接從字串存取 JSON 物件的屬性。
要解決這個問題,我們需要使用 json.loads() 將字串轉換回 JSON 物件。這允許我們使用點表示法或鍵值對存取 JSON 物件的屬性。
<code class="python">import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) # Converts to a JSON string loaded_r = json.loads(r) # Converts back to a JSON object print(loaded_r['rating']) # Accesses the 'rating' property</code>
在此修改後的程式碼中,我們首先使用 json.dumps() 將字典轉換為字串。然後,我們使用 json.loads() 將字串轉換回 JSON 物件。我們現在可以使用熟悉的點表示法來存取「評級」屬性。
以上是將字典轉換為 JSON 時,請注意這個常見的陷阱的詳細內容。更多資訊請關注PHP中文網其他相關文章!