Python - 在提取数据之前计算JSON元素

Hyp*_*ion 5 python json

我使用的API为我提供了一个结构如下的JSON文件:

{
offset: 0,
results: [
{
  source_link: "http://www.example.com/1",
  source_link/_title: "Title example 1",
  source_link/_source: "/1",
  source_link/_text: "Title example 1"
},
{
  source_link: "http://www.example.com/2",
  source_link/_title: "Title example 2",
  source_link/_source: "/2",
  source_link/_text: "Title example 2"
},
...
Run Code Online (Sandbox Code Playgroud)

我在Python中使用此代码来提取我需要的数据:

import json
import urllib2

u = urllib2.urlopen('myapiurl')
z = json.load(u)
u.close
link = z['results'][1]['source_link']
title = z['results'][1]['source_link/_title']
Run Code Online (Sandbox Code Playgroud)

问题是要使用它我必须知道从中提取数据的元素的数量.我results每次都可以有不同的长度,所以我想要做的是先计算元素的数量results,这样我就可以设置一个循环来从每个元素中提取数据.

Lex*_*ust 14

要检查结果键的长度:

len(z["results"])
Run Code Online (Sandbox Code Playgroud)

但是如果你只是在它们周围循环,那么for循环是完美的:

for result in x["results"]:
    print(result["source_link"])
Run Code Online (Sandbox Code Playgroud)