如何在Python中使用for遍历json元素

2024-04-19 08:02:39 发布

您现在位置:Python中文网/ 问答频道 /正文

此代码适用于:

#!/usr/bin/env python3

import urllib.request, json

url = urllib.request.urlopen('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22DKKNOK%2CEURNOK%2CGBPNOK%2CISKNOK%2CNOKNOK%2CPLNNOK%2CSEKNOK%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys')

data = json.loads(url.read().decode(url.info().get_content_charset('utf-8')))

print(data['query']['results']['rate'][:])

它同时打印出data['query']['results']['rate']的所有7个元素。你知道吗

所以我认为这个代码也应该起作用:

#!/usr/bin/env python3

import urllib.request, json

url = urllib.request.urlopen('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22DKKNOK%2CEURNOK%2CGBPNOK%2CISKNOK%2CNOKNOK%2CPLNNOK%2CSEKNOK%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys')

data = json.loads(url.read().decode(url.info().get_content_charset('utf-8')))

for d in data['query']['results']['rate'][:]
    print(d)

使用for循环并打印出data['query']['results']['rate']中的每个元素。你知道吗

然而,这不起作用,并给出了一个错误。你知道吗

如何在Python中迭代json元素?你知道吗


Tags: 代码importenvjsonurl元素databin
2条回答

不需要[:]只迭代数据:

for d in data['query']['results']['rate']:
    print(d)

。。应该有用。你错过了:。你知道吗

您还可以直接对请求的响应使用.json()方法将JSON解码为python结构。你知道吗

试试这个

for d in data['query']['results']['rate']:
    print(d)

而不是

for d in data['query']['results']['rate'][:]
    print(d)                       #here    ^ missed :

相关问题 更多 >