Rumah >pembangunan bahagian belakang >Tutorial Python >Apabila Menukar Kamus kepada JSON, Berhati-hati Dengan Perangkap Biasa Ini
Apabila bekerja dengan data JSON, adalah penting untuk memahami perbezaan antara objek JSON dan perwakilan rentetan JSON. Perbezaan ini mempengaruhi cara kami memanipulasi dan mengakses data.
Dalam kod yang disediakan:
import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) file.write(str(r['rating']))
Isu timbul daripada penggunaan json.dumps() diikuti dengan percubaan untuk mengakses a kunci daripada rentetan yang terhasil. json.dumps() menukar kamus kepada perwakilan rentetan objek JSON, bukan objek JSON itu sendiri. Ini bermakna kita tidak boleh mengakses secara langsung sifat objek JSON daripada rentetan.
Untuk menyelesaikan masalah ini, kita perlu menggunakan json.loads() untuk menukar rentetan kembali menjadi objek JSON. Ini membolehkan kami mengakses sifat objek JSON menggunakan notasi titik atau pasangan nilai kunci.
<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>
Dalam kod yang disemak ini, kami mula-mula menukar kamus kepada rentetan menggunakan json.dumps(). Kemudian, kami menggunakan json.loads() untuk menukar rentetan kembali kepada objek JSON. Kini kita boleh mengakses sifat 'rating' menggunakan notasi titik yang biasa.
Atas ialah kandungan terperinci Apabila Menukar Kamus kepada JSON, Berhati-hati Dengan Perangkap Biasa Ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!