Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Penyahkod JSON Saya Gagal: Sintaks yang Salah dalam Tatasusunan lwn. Objek?
Mengapa Penyahkod JSON Gagal: Sintaks Tidak Sah
Data JSON yang disediakan menunjukkan ralat yang menghalang Python daripada menghuraikannya dengan jayanya. Punca utama terletak pada sintaks elemen "topeng" dan "parameter" yang salah.
Sintaks JSON Objects vs. Arrays
objek JSON, yang setara kepada kamus dalam Python, disertakan dalam kurung kurawal {}. Tatasusunan, diwakili sebagai senarai dalam Python, disertakan dalam kurungan segi empat sama [].
Ralat dalam Data JSON
Data JSON yang diberikan salah menggunakan [] dan bukannya { } untuk "topeng" dan "parameter." Ralat sintaks ini mengakibatkan mesej ralat:
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 13 column 13 (char 213)
Membetulkan Sintaks JSON
Untuk membetulkan ralat sintaks, kurungan yang mengelilingi "topeng" dan "parameter" hendaklah diganti dengan pendakap kerinting. Data JSON yang diperbetulkan sepatutnya kelihatan seperti ini:
{ "maps": [ { "id": "blabla", "iscategorical": "0" }, { "id": "blabla", "iscategorical": "0" } ], "masks": { "id": "valore" }, "om_points": "value", "parameters": { "id": "valore" } }
Kod Python untuk Menghuraikan JSON yang Sah
Setelah data JSON diperbetulkan, kod Python berjaya menghuraikannya menggunakan kaedah json.load(). Kod yang disediakan boleh digunakan seperti berikut:
import json from pprint import pprint with open('data_fixed.json') as f: data = json.load(f) pprint(data)
Kod ini akan mencetak kandungan data JSON dalam format yang boleh dibaca menggunakan fungsi pprint().
Mengekstrak Nilai daripada JSON
Selepas menghuraikan data JSON, nilai individu boleh diakses menggunakan kamus dan senarai Python sintaks. Contohnya:
Atas ialah kandungan terperinci Mengapa Penyahkod JSON Saya Gagal: Sintaks yang Salah dalam Tatasusunan lwn. Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!