Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menghuraikan Fail JSON dengan Pelbagai Objek JSON dalam Python?

Bagaimana untuk Menghuraikan Fail JSON dengan Pelbagai Objek JSON dalam Python?

Linda Hamilton
Linda Hamiltonasal
2025-01-03 20:41:40463semak imbas

How to Parse a JSON File with Multiple JSON Objects in Python?

Memuatkan dan Menghuraikan Fail JSON dengan Berbilang Objek JSON

Isu:

Apabila mencuba untuk memuatkan fail JSON yang mengandungi berbilang objek JSON menggunakan modul json standard dalam Python, anda mungkin menghadapi a ValueError yang menunjukkan data tambahan melebihi struktur JSON yang dijangkakan.

Memahami Isu:

Fail JSON yang dipersoalkan diformatkan sebagai satu siri baris JSON, di mana setiap baris mewakili objek JSON yang berasingan. Walau bagaimanapun, fail itu bukan JSON yang sah kerana ia tidak mempunyai tatasusunan atau definisi objek peringkat atas.

Penyelesaian:

Untuk menghuraikan fail sedemikian dengan berkesan, anda perlu proses setiap baris secara individu:

import json

data = []
with open('file') as f:
    for line in f:
        data.append(json.loads(line))

Dalam kod ini, setiap baris dalam fail dibaca dan dihuraikan sebagai objek JSON yang berasingan. Data senarai yang terhasil mengandungi objek JSON individu untuk setiap baris dalam fail.

Nota Tambahan:

  • Jika fail JSON anda mengandungi objek JSON individu dengan pembatas di antaranya, anda boleh menggunakan pendekatan buffer untuk menghuraikan objek satu demi satu, seperti yang diterangkan dalam Bagaimana saya menggunakan modul 'json' untuk membaca dalam satu JSON objek pada satu masa?

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Fail JSON dengan Pelbagai Objek JSON dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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