【发布时间】:2017-07-30 20:02:33
【问题描述】:
我是 python 新手,我正在努力实现以下目标: 向 cloudera-Manager 的 IP 发送 get 请求,该 IP 将返回具有以下结构的主机 JSON:
{
"items" : [ {
"hostId" : "ddcfbea6-8a7c-462c-38f9-0116338e438a",
"ipAddress" : "1.2.3.4",
"hostname" : "host.example.com",
"rackId" : "/rack01",
"hostUrl" : "http://host.example.com:7180/cmf/hostRedirect/ddcfbea6-8a7c-462c-38f9-0116338e438a"
}
...
}
JSON 可以包含数百个元素,我想找到所有具有相同 ipAddress 条目值的元素并打印它们以及它们的键和值。 我怎样才能做到这一点?我正在使用请求模块发送获取请求。
【问题讨论】:
-
1) JSON 是否有规则的结构?还是任意结构? 2) 你知道你在找什么IP吗?
-
您是想按 ip 地址对数据进行分组,还是给它一些地址以获取所有匹配的条目?
-
@COLDSPEED - 它确实具有常规结构,与我在问题中发布的结构相同。我不知道我要找的IP,只是在寻找重复项。
-
@SimonHobbs ,我不想分组。我更喜欢按原样扫描 json 以查找重复的 ipaddresses,当我发现这些重复项时,我想将它们打印出来,包括它们的其余键和值(例如 rackid 、 hosturl 等),而不仅仅是 IP 地址。跨度>
标签: python json linux cloudera cloudera-manager