擅长:python、mysql、java
<p>JSON数据的加载有点脆弱。而不是:</p>
<pre><code>json_raw= raw.readlines()
json_object = json.loads(json_raw[0])
</code></pre>
<p>你真的应该这样做:</p>
<pre><code>json_object = json.load(raw)
</code></pre>
<p>你不应该把你得到的看作是一个“JSON对象”。你只有一张单子。这个列表包含两条指令。dict包含各种键/值对,所有字符串。当你做<code>json_object[0]</code>时,你要求的是列表中的第一个dict。当您使用<code>for song in json_object[0]:</code>迭代dict的键时,您将迭代dict的键。因为这是您在迭代dict时得到的结果。如果您想要访问与dict中的键相关联的值,您将使用例如<code>json_object[0][song]</code>。</p>
<p>这些都不是JSON特有的。这只是基本的Python类型,它们的基本操作在任何教程中都有介绍。</p>