Apabila Menukar Kamus kepada JSON, Berhati-hati Dengan Perangkap Biasa Ini

DDD
Lepaskan: 2024-10-20 21:02:02
asal
743 orang telah melayarinya

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

Perangkap dalam Menukar Kamus kepada JSON

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']))
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!