ホームページ >バックエンド開発 >Python チュートリアル >辞書を JSON に変換するときは、このよくある落とし穴に注意してください

辞書を JSON に変換するときは、このよくある落とし穴に注意してください

DDD
DDDオリジナル
2024-10-20 21:02:02844ブラウズ

When Converting Dictionaries to JSON, Watch Out For This Common Pitfall

辞書を JSON に変換する際の落とし穴

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。