我最近使用的列车状态API在JSON对象中添加了两个额外的键值对(has_arrived,has_departed
),这导致我的脚本崩溃。
以下是词典:
{
"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
。
有什么解决方法吗?
附注:我尝试将has_arrived
的JSON响应转换为字符串,然后再将其转换回布尔值,但发现只要字符串中有任何字符,我就会始终得到一个True
值。
我有点卡在这里了。
sed
处理 JSON。 - jgyoufalse = None
。 - NeilG