全部
我是JSON和python世界的新手。我正在尝试解析位于here的JSON数据。我可以使用以下代码解析JSON数据。我的问题是,当我尝试检查“ jsonData”对象的类型时,原来是列表而不是Dictionary
。我在网上看到的大多数JSON数据都由类型dictionary
组成。因此,可以将list而不是Dictionary用作类型吗?还是我需要将'jsonData'对象转换为Dictionary,如果可以,该如何实现?
解析代码
response=urllib.request.urlopen(url)
json_string=response.read().decode('utf-8')
parsed_json=json.loads(json_string)
jsonData =parsed_json
预先感谢
答案 0 :(得分:1)
欢迎来到JSON和Python世界。首先,您可以发出HTTP请求并以更少的行来解析响应:
# We will use requests library instead of urllib. See Ref. 1.
import requests
url = 'http://api.population.io/1.0/population/2010/United%20States/?format=json'
response = requests.get(url) # Make an HTTP GET request
jsonData = response.json() # Read the response data in JSON format
print(type(jsonData)) # prints <type 'list'>
for x in jsonData:
print(type(x)) # prints <type 'dict'>
为什么说jsonData
是列表?因为jsonData
是一个列表。
为什么说每个x
都是字典?因为每个x
都是字典。
仔细查看位于here的数据。它分别以[
和]
开始和结束。在[
和]
内部,有成对的{
和}
。
list = [] # this is how you declare lists in python
dict = {} # this is how you declare dictionaries in python
因此,您的JSON数据已正确解析。它是JSON对象的JSON列表。参见参考资料2。
参考文献: