Saya mencoba memuat dan mengurai file JSON dengan Python . Tapi saya terjebak saat mencoba memuat file:
import json
json_data = open('file')
data = json.load(json_data)
Hasil:
ValueError: Extra data: line 2 column 1 - line 225116 column 1 (char 232 - 160128774)
Saya melihat 18,2. json
- Encoder dan decoder JSON dalam dokumentasi Python, tetapi cukup mengecewakan untuk membaca dokumentasi yang tampak mengerikan ini.
Beberapa baris pertama (dianonimkan dengan entri acak):
{"votes": {"funny": 2, "useful": 5, "cool": 1}, "user_id": "harveydennis", "name": "Jasmine Graham", "url": "http://example.org/user_details?userid=harveydennis", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 1, "useful": 2, "cool": 4}, "user_id": "njohnson", "name": "Zachary Ballard", "url": "https://www.example.com/user_details?userid=njohnson", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 1, "useful": 0, "cool": 4}, "user_id": "david06", "name": "Jonathan George", "url": "https://example.com/user_details?userid=david06", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 6, "useful": 5, "cool": 0}, "user_id": "santiagoerika", "name": "Amanda Taylor", "url": "https://www.example.com/user_details?userid=santiagoerika", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 1, "useful": 8, "cool": 2}, "user_id": "rodriguezdennis", "name": "Jennifer Roach", "url": "http://www.example.com/user_details?userid=rodriguezdennis", "average_stars": 3.5, "review_count": 12, "type": "user"}
data = json.loads(line); print data[u'votes']
bagi mereka yang tersandung pada pertanyaan ini:
jsonlines
pustaka python (jauh lebih muda dari pertanyaan ini) secara elegan menangani file dengan satu dokumen json per baris. lihat https://jsonlines.readthedocs.io/sumber
Itu adalah sakit-diformat. Anda memiliki satu objek JSON per baris, tetapi objek tersebut tidak terdapat dalam struktur data yang lebih besar (yaitu, array). Anda juga perlu memformatnya sehingga dimulai dengan
[
dan diakhiri dengan]
koma di akhir setiap baris, atau parsing baris demi baris sebagai kamus terpisah.sumber