Rumah > pembangunan bahagian belakang > Tutorial Python > Cara Mengelakkan Ralat Semasa Mengakses Data JSON daripada Kamus Python

Cara Mengelakkan Ralat Semasa Mengakses Data JSON daripada Kamus Python

Barbara Streisand
Lepaskan: 2024-10-20 21:07:02
asal
553 orang telah melayarinya

How to Avoid Errors When Accessing JSON Data from Python Dictionaries

Pengekodan/Penyahkod JSON dengan Python

Untuk pertukaran dan penyimpanan data yang lancar, menukar kamus Python kepada JSON (Notasi Objek JavaScript) adalah perkara biasa keperluan. Walau bagaimanapun, ralat yang tidak dijangka boleh timbul apabila cuba mengakses data JSON daripada kamus.

Ralat Ditemui:

Pertimbangkan coretan kod berikut:

<code class="python">r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))</code>
Salin selepas log masuk

Apabila cuba mengakses kekunci 'rating' daripada rentetan JSON, ralat "TypeError: rentetan indeks mestilah integer, bukan str" berlaku. Ralat ini timbul kerana json.dumps() menukar kamus 'r' menjadi rentetan, bukan objek atau kamus JSON sebenar.

Pendekatan Betul:

Untuk menyelesaikan isu ini, gunakan kaedah json.loads() untuk memuatkan semula rentetan JSON ke dalam kamus. Ini membolehkan anda mengakses kekunci 'rating' seperti berikut:

<code class="python">import json

r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
loaded_r = json.loads(r)
print(loaded_r['rating'])</code>
Salin selepas log masuk

Memahami Perbezaan:

json.dumps() menyimpan kamus sebagai rentetan, manakala json.loads() mendapatkannya semula sebagai kamus. Ingat untuk menggunakan json.dumps() apabila mensiri data dan json.loads() apabila menyahsirikannya.

Atas ialah kandungan terperinci Cara Mengelakkan Ralat Semasa Mengakses Data JSON daripada Kamus Python. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan