Как получить первый дубликат элемента в json? - PullRequest
0 голосов
/ 13 марта 2019
[
 {
  frame: {data,data}
  radiotap: {data,data}
  wlan: {data,data}
  wlan: {data,data}strong text
 }
]

Это сжатый пример проволочной акулы, с которой я работаю. Когда я перебираю json с помощью Python3, он возвращает только последний элемент wlan, а мне нужен первый. Как мне получить доступ к данным в этом элементе?

Он также получает второй элемент "wlan" при попытке прямого доступа то есть print (json [0] [wlan]), это возвращает второй элемент wlan.

1 Ответ

1 голос
/ 13 марта 2019

Возможно, вам не следует использовать дубликаты ключей.

Разрешает ли синтаксис JSON дублировать ключи в объекте?

Но все же вы можете использовать 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)
...