擅长:python、mysql、java
<p>你的问题不太清楚这一点,但如果:</p>
<pre><code>results = json.dumps(resp.json(),
sort_keys=True,
indent=4, separators=(',', ': '))
print(results)
myvar = results['search-results'][0]['entry']['eid']
print (myvar)
</code></pre>
<p>是引起TypeError的代码,那么,很明显,这就是我们所期望的。<code>json.dumps(obj, ...)</code>获取Python对象并将其序列化为json字符串,因此在代码中<code>results</code>是一个字符串(它包含json格式的内容这一事实完全不相关)。要将json字符串反序列化为Python(以便获得可以使用的Python对象),需要使用<code>json.loads(somejsonstr)</code>。你知道吗</p>
<p>现在实际上,<code>resp.json()</code>(我假设<code>resp</code>来自<code>python-requests</code>库)已经负责将其内容反序列化到Python,因此您没有更多的事情要做-当然,除了按照James\u F所提到的正确顺序获取dict键/列表索引:</p>
<pre><code>resp = requests.get(someurl)
results = resp.json()
myvar = results['search-results']['entry'][0]['eid']
print(myvar)
</code></pre>