[
{
frame: {data,data}
radiotap: {data,data}
wlan: {data,data}
wlan: {data,data}strong text
}
]
这是我正在使用的wireshark json的压缩示例。当我使用Python3循环遍历json时,它只返回最后一个wlan元素,我需要第一个。我如何访问该元素中的数据?
当我尝试直接访问时,它也获得第二个“wlan”元素,即print(json [0] [wlan]),这将返回第二个wlan元素。
也许你不应该使用重复的密钥。
Does JSON syntax allow duplicate keys in an object?
但是你仍然可以使用JSONDecoder:
from json import JSONDecoder
def met(a):
return a
json="""{
"frame": {"a": 10},
"radiotap": {"b": 10},
"wlan": {"c": 10},
"wlan": {"d": 10}
}
"""
for i in JSONDecoder(object_pairs_hook=met).decode(json):
print(i)