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 中国語 Web サイトの他の関連記事を参照してください。