Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Penyahkod JSON Saya Gagal: Sintaks yang Salah dalam Tatasusunan lwn. Objek?

Mengapa Penyahkod JSON Saya Gagal: Sintaks yang Salah dalam Tatasusunan lwn. Objek?

DDD
Lepaskan: 2024-12-15 17:04:13
asal
825 orang telah melayarinya

Why Does My JSON Decoder Fail:  Incorrect Syntax in Arrays vs. Objects?

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

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

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

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:

  • data['maps'][0]['id']
  • data['masks']['id']
  • data ['om_points']

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!

sumber:php.cn
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