我尝试将url中的json作为字符串或字符串数组加载。 至于现在看起来我有一系列角色。 当我在终端中打印数据时,它看起来没问题。 约有250行json。但是当我检查数组长度时,它是一个包含8500个元素的数组。
import urllib2
import json
def main():
filter_json("52942")
def filter_json(id):
url = "http://ccmixter.org/api/query?f=json&t=info&ids="+id
site = urllib2.urlopen(url).read()
data = json.loads(site)
data = json.dumps(data, sort_keys=True, indent=2, separators=(',', ': '))
# this looks good:
#print data
# this is 8500 which are characters?
print len(data)
if __name__ == "__main__":
main()
答案 0 :(得分:0)
这一行:
data = json.loads(site)
将json数据加载到列表中。如果您之后直接致电len(data)
,data
将是一个列表(或API返回的任何json),您将获得列表的长度。
这一行:
data = json.dumps(data, sort_keys=True, indent=2, separators=(',', ': '))
将列表重新转换为字符串,这样你就可以得到字符串的长度(然后是长度为8500个字符,带有缩进和空格)