python: json печатает имена корневых объектов

#python #json #json-deserialization

#python #json #json-десериализация

Вопрос:

У меня есть строка JSON, подобная этой:

 {
  "Sommersprossen": {
    "count": 5,
    "lastSeenTime": 1586959168567
  },
  "inkognito": {
    "count": 7,
    "lastSeenTime": 1586901586361
  },
  "Marienkäfer": {
    "count": 7,
    "lastSeenTime": 1586958264090,
    "difficulty": 0.8902439024390244,
    "difficultyWeight": 82
  },
  "Zaun": {
    "count": 8,
    "lastSeenTime": 1586958848320
  },
 

Теперь я хочу напечатать что-то вроде этого : Sommersprossen, inkognito, Marienkäfer, Zaun .
Но я не знаю, как это сделать…
Мой существующий код на Python:

 url = "https://skribbliohints.github.io/German.json"

response = urllib.request.urlopen(url)

data = json.loads(response.read())
 

Но проблема в том, что я не могу найти способ распечатать имена объектов.

Комментарии:

1. Вы можете просто обработать его как словарь и распечатать его ключи.

Ответ №1:

json — это, по сути, просто словарь. Вы можете получить к нему доступ, как к любому другому словарю python.

 url = "https://skribbliohints.github.io/German.json"

response = urllib.request.urlopen(url)

data = json.loads(response.read())

roots = list(data.keys())
 

Комментарии:

1. Спасибо, это именно то, что я хотел!

Ответ №2:

Вы можете обработать этот вывод json как словарь и распечатать его ключи, для этого примера вы можете просто выполнить его с помощью:

 data.keys()
 

Вывод:

 dict_keys(['Sommersprossen', 'inkognito', 'Marienkäfer', 'Zaun'])
 

Ответ №3:

Это dict, поэтому вы можете сделать:

 “, “.join(data.keys())