回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我使用的Train status API最近在JSON对象中添加了两个额外的键值对<code>(has_arrived, has_departed)</code>,这导致我的脚本崩溃。</p>
<p>这是字典:</p>
<pre><code>{
"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
}
]
}
</code></pre>
<p>毫不奇怪,我犯了以下错误:</p>
<pre><code>Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'false' is not defined
</code></pre>
<p>如果我没有弄错的话,我认为这是因为JSON响应中的布尔值是<code>false</code>/<code>true</code>,而Python可以识别<code>False</code>/<code>True</code>。
有办法吗?</p>
<p>PS:我尝试将<code>has_arrived</code>的JSON响应转换为字符串,然后将其转换回布尔值,结果发现如果字符串中有任何字符,我将始终获得<code>True</code>值。
我有点困在这里了。</p>