擅长:python、mysql、java
<p>您在列表上的循环是正确的,但是您需要循环到每个字典中查找您的类型</p>
<p>要迭代每个的键值对,请执行以下操作:</p>
<pre class="lang-py prettyprint-override"><code>for key, value in e.items():
</code></pre>
<p>然后要检查嵌套字典的类型,首先要键入check,确保键存在,最后确保它不是NSGI_类型。所有这些看起来像:</p>
<pre class="lang-py prettyprint-override"><code>for e in entities:
entity_id = ""
# put entity_id into scope for our loop
for key, value in e.items():
# loop over the { ... }
if key == "id":
entity_id = str(value)
# keep track of id to output later
if type(value) is dict:
if "type" in value.keys():
# if type isn't in the { ... } there's no point in continuing
if value["type"] != NSGI_TYPE:
print(entity_id)
print(key, value)
else:
msg = "Entity {} is type {}."
raise ValueError(msg.format(e[NGSI_ID], entity_type))
</code></pre>