从url加载json作为String或String数组

时间:2017-05-03 08:42:00

标签: python json

我尝试将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()

1 个答案:

答案 0 :(得分:0)

这一行:

data = json.loads(site)

将json数据加载到列表中。如果您之后直接致电len(data)data将是一个列表(或API返回的任何json),您将获得列表的长度。

这一行:

data =  json.dumps(data, sort_keys=True, indent=2, separators=(',', ': '))

将列表重新转换为字符串,这样你就可以得到字符串的长度(然后是长度为8500个字符,带有缩进和空格)