迭代字典(来自 json)给出不完整的输出

Iteration over dictionary (from json) gives incomplete output

我正在努力从 HPQC 中检索信息,我已成功将其转换为 json 对象,然后又转换为 Python 对象(即字典),但我运行 无法从生成的字典中获取值。

我已经对此进行了大量研究,并且开始获得我需要的信息...但不是全部。

我正在使用的 json/dict 的一般结构如下:

*'v' indicates contents of the {} above it
Entities:{@Total:81
          Entity:[{},{},{},...,{}]
                  v
                  {@Type:<type>
                   Fields:{}
                  }       v
                          {Field:[{},{},{},...,{}]
                          }       v
                                  {@Name:<name>
                                   Value:<value
                                  }
          }

如上所述,我可以使用以下代码打印出名称和值:

with requests.Session() as req:
    req.post(authenticate_url, verify=False, auth=(usnm, pswd))
    request = req.get(url, verify=False)
    # responseToJSON just converts the response object to a JSON and then to a python object
    request = responseToJSON(request)

    for entry in js_dict[u'Entities'][u'Entity']:
        for nest_entry in entry[u'Fields'][u'Field']:
            print nest_entry[u'@Name']
            # Not all Names have a Value
            if u'Value' in nest_entry:
                print " " * 4, nest_entry[u'Value']
            else:
                print " " * 4, "No Value!"

根据@Total 值,应该有 81 "Entity" 个词典,每个 Fields-Field-Name/Value。我在此处之前使用的 for 循环仅打印出每个 Field dict 的名称和值,总共给我 15 个结果。使用当前版本,我设法将其增加到 23。

我在 for 循环之前使用的同一个请求进程中将 json 对象导出到一个文件,所有 81 个 "Entity" 对象肯定都在那里,所以它不应该是一个数据检索不完整的问题。

是否有某种支票或我遗漏的东西?还是由于某种原因大量物体会导致它提前停止?还是完全不同?

经过进一步的搜索和思考,我认为可能不是 json/dictionary 不完整,而是 Eclipse 的控制台。果然,Eclipse 中的控制台(我正在使用)有一个缓冲区限制,在禁用该选项后,我的完整预期输出正确显示。

我最终使用的解决方案来自这个答案: