API статуса поезда, который я использую, недавно добавил две дополнительные пары значений ключа (has_arrived, has_departed)
в объекте JSON, что вызвало сбой моего script.
Здесь словарь:
{
"response_code": 200,
"train_number": "12229",
"position": "at Source",
"route": [
{
"no": 1,
"has_arrived": false,
"has_departed": false,
"scharr": "Source",
"scharr_date": "15 Nov 2015",
"actarr_date": "15 Nov 2015",
"station": "LKO",
"actdep": "22:15",
"schdep": "22:15",
"actarr": "00:00",
"distance": "0",
"day": 0
},
{
"actdep": "23:40",
"scharr": "23:38",
"schdep": "23:40",
"actarr": "23:38",
"no": 2,
"has_departed": false,
"scharr_date": "15 Nov 2015",
"has_arrived": false,
"station": "HRI",
"distance": "101",
"actarr_date": "15 Nov 2015",
"day": 0
}
]
}
Неудивительно, что я получил следующую ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'false' is not defined
Если я не ошибаюсь, я думаю, это связано с тем, что логическое значение в ответе JSON равно false
/true
, тогда как Python распознает false
/true
.
Есть ли способ обойти это?
PS: Я попытался преобразовать ответ JSON has_arrived
в строку и затем преобразовать его обратно в логическое значение, только чтобы узнать, что я всегда получаю значение true
, если в строке есть какой-либо символ.
Я немного застрял здесь.