Ошибка JSON.parse при записи данных json в файл json - PullRequest
1 голос
/ 23 марта 2019

Я пытаюсь получить данные JSON из URL-адреса локального хоста строка за строкой и вставить их в файл JSON.Когда я пытаюсь открыть файл, я получаю сообщение об ошибке Multiple JSON root elements.

import urllib.parse
import urllib.request, json 
import json
abc={}

for i in range(6666,6669):
    print(i)
    full_url="http://localhost/get/info" + str(i)
    with urllib.request.urlopen(full_url) as url:
        data = json.loads(url.read().decode())
        print(data['id'])
    abc={i:[data]}
    with open('data.json', 'a') as outfile:
        json.dump(abc,outfile)

1 Ответ

0 голосов
/ 23 марта 2019

Действительный объект json должен иметь только один корень

См. Как прочитать файл JSON, содержащий несколько корневых элементов?

Вы должны добавить все объекты json в массив, а затем записать его в файл json

Результирующий объект json должен быть похож на

[
{ object 1 },
{ object 2 }
]

обратите внимание, что в json есть только один корневой объект, массив, содержащий все другие объекты

...