擅长:python、mysql、java
<p>你说你的json数据是:</p>
<pre><code>[{"status": "Registered", "credential": "10000323xsds", "scan_time": "Jan.15,2014, 03:30 pm", "asset_code": "cls103", "emp_id": "LS07", "location": "BLR-10", "auth_code": "DSC(Verisign", "operator": "pradeep", "id": 538}]
</code></pre>
<p>这意味着当你做<code>j_obj = json.load(j)</code>时,你的<code>j_obj</code>是一个<em>列表</em>。(注意外面的<code>[ ]</code>)。这就是为什么当你做<code>print j_obj.status</code>的时候,你得到了一个错误“list”对象没有属性“status”</em></p>
<p>您更新的代码:</p>
<pre><code>for jo in j_obj:
print j_obj[jo]['status']
</code></pre>
<p>这是在Python中使用<code>for _ in _</code>循环的错误方法,您这样做与在Javascript中一样。在Python中,您可以这样编写:</p>
<pre><code>for jo in j_obj:
print jo['status']
</code></pre>
<p>这将遍历外部列表中的项(只有一个项,即dict),并打印该dict的<code>'status'</code>键</p>
<p>您可以看到<code>for _ in _</code>循环为您提供循环列表中的实际项,而不是索引。所以在你的例子中,<code>jo</code>是一个dict,这就是为什么当你试图做<code>j_obj[jo]</code>时,你得到的错误列表索引必须是整数,而不是dict“</em>。</p>
<p>请参见此处的教程:<br/>
<a href="https://wiki.python.org/moin/ForLoop" rel="noreferrer">https://wiki.python.org/moin/ForLoop</a></p>