如何在json中获取第一个重复元素?

问题描述 投票:0回答:1
[
 {
  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元素。

json python-3.x wireshark
1个回答
1
投票

也许你不应该使用重复的密钥。

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)
© www.soinside.com 2019 - 2024. All rights reserved.