Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Data Khusus daripada Pelbagai Objek JSON dalam Fail Tunggal?

Bagaimana untuk Mengekstrak Data Khusus daripada Pelbagai Objek JSON dalam Fail Tunggal?

DDD
DDDasal
2024-10-27 16:03:01172semak imbas

How to Extract Specific Data from Multiple JSON Objects in a Single File?

Mengakses Berbilang Objek JSON daripada Satu Fail

Bekerja dengan fail JSON boleh menjadi mencabar, terutamanya apabila berurusan dengan berbilang objek JSON yang disimpan dalam fail tunggal. Untuk mengekstrak maklumat khusus daripada fail sedemikian, penyelesaian tersuai diperlukan.

Dalam senario ini, fail JSON mengandungi berbilang objek JSON, setiap satu mewakili maklumat acara tertentu. Tugasnya ialah untuk mengekstrak medan "Timestamp" dan "Kebergunaan" daripada setiap objek dan memformatkannya ke dalam bingkai data.

Untuk mencapai matlamat ini, memanfaatkan perpustakaan jsonstream adalah disyorkan. Ia menyediakan pendekatan khusus untuk mengendalikan fail JSON yang besar tanpa perlu memuatkan keseluruhan fail ke dalam memori. Pustaka membenarkan penyahkodan objek JSON secara berulang daripada fail, satu demi satu.

Pustaka JSONstream boleh digunakan seperti berikut:

<code class="python">from jsonstream import json

with open("input.json", "r") as f:
    for obj in json.parse(f):
        # Access and process individual fields from the parsed JSON object
        timestamp = obj["Timestamp"]
        usefulness = obj["Usefulness"]
        # ... (perform any necessary actions with the extracted data)</code>

Sebagai alternatif, jika akses fail langsung tidak dapat dilakukan atau lebih disukai, menggunakan kelas JSONDecoder dengan kaedah raw_decode boleh menjadi penyelesaian yang cekap. Kaedah ini membolehkan penyahkodan rentetan JSON yang besar tanpa memerlukan membaca keseluruhan fail dalam satu operasi. Ia secara berulang mencari objek JSON yang sah dan menjejaki kedudukan penghuraian terakhir.

<code class="python">from json import JSONDecoder

decoder = JSONDecoder()
with open("input.json", "r") as f:
    for line in f:
        try:
            obj, pos = decoder.raw_decode(line, 0)
            timestamp = obj["Timestamp"]
            usefulness = obj["Usefulness"]
            # ... (perform actions with the extracted data)
        except JSONDecodeError:
            # Handle any errors encountered during decoding</code>

Kedua-dua pustaka JSONstream dan kaedah raw_decode menyediakan cara yang cekap untuk mengekstrak berbilang objek JSON daripada satu fail, menjadikannya lebih mudah untuk berfungsi dengan dan menganalisis set data JSON yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Data Khusus daripada Pelbagai Objek JSON dalam Fail Tunggal?. 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