Я пытаюсь прочитать отдельные значения из канала JSON. Ниже приведен пример данных подачи:JSON.loads() Дополнительные данные ValueError в Python
{
"sendtoken": "token1",
"bytes_transferred": 0,
"num_retries": 0,
"timestamp": 1414395374,
"queue_time": 975,
"message": "internalerror",
"id": "mailerX",
"m0": {
"binding_group": "domain.com",
"recipient_domain": "hotmail.com",
"recipient_local": "destination",
"sender_domain": "domain.com",
"binding": "mail.domain.com",
"message_id": "C1/34-54876-D36FA645",
"api_credential": "creds",
"sender_local": "localstring"
},
"rejecting_ip": "145.5.5.5",
"type": "alpha",
"message_stage": 3
}
{
"sendtoken": "token2",
"bytes_transferred": 0,
"num_retries": 0,
"timestamp": 1414397568,
"queue_time": 538,
"message": "internal error,
"id": "mailerX",
"m0": {
"binding_group": "domain.com",
"recipient_domain": "hotmail.com",
"recipient_local": "destination",
"sender_domain": "domain.com",
"binding": "mail.domain.com",
"message_id": "C1/34-54876-D36FA645",
"api_credential": "creds",
"sender_local": "localstring"
},
"rejecting_ip": "145.5.5.5",
"type": "alpha",
"message_stage": 3
}
Я не могу разделить фактический URL, но выше, первые 2 из примерно 150 результатов, которые отображаются, если я бегу
print results
перед тем
json.loads()
линия.
Мой код:
import urllib2
import json
results = urllib2.urlopen(url).read()
jsondata = json.loads(results)
for row in jsondata:
print row['sendtoken']
print row['recipient_domain']
Я хотел бы выход как
token1
hotmail.com
для каждой записи.
Я получаю эту ошибку:
ValueError: Extra data: line 2 column 1 - line 133 column 1 (char 583 - 77680)
Я далек от эксперта Python, и это мой первый раз работает с JSON. Я потратил немало времени на поиск google и Stack Overflow, но я не могу найти решение, которое работает для моего конкретного формата данных.
Ваш json недействителен –