Как перебрать массив JSON?

У меня есть этот массив JSON с несколькими корнями:

[
  {
  "issuer_ca_id": 16418,
  "issuer_name": "C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3",
  "name_value": "sub.test.com",
  "min_cert_id": 325717795,
  "min_entry_timestamp": "2018-02-08T16:47:39.089",
  "not_before": "2018-02-08T15:47:39"
  },
{
"issuer_ca_id":9324,
"issuer_name":"C=US, O=Amazon, OU=Server CA 1B, CN=Amazon",
"name_value":"marketplace.test.com",
"min_cert_id":921763659,
"min_entry_timestamp":"2018-11-05T19:36:18.593",
"not_before":"2018-10-31T00:00:00",
"not_after":"2019-11-30T12:00:00"
}
]

Я хочу перебрать его и распечатать значения issuer_name на Python. Любое решение, пожалуйста?

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

martineau 11.11.2018 21:44
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
6
1
1 607
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте пакет json и загрузите файл json. Предполагая, что это строка в памяти (в отличие от файла .json):

jsonstring = """
[
  {
  "issuer_ca_id": 16418,
  "issuer_name": "C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3",
  "name_value": "sub.test.com",
  "min_cert_id": 325717795,
  "min_entry_timestamp": "2018-02-08T16:47:39.089",
  "not_before": "2018-02-08T15:47:39"
  },
{
"issuer_ca_id":9324,
"issuer_name":"C=US, O=Amazon, OU=Server CA 1B, CN=Amazon",
"name_value":"marketplace.test.com",
"min_cert_id":921763659,
"min_entry_timestamp":"2018-11-05T19:36:18.593",
"not_before":"2018-10-31T00:00:00",
"not_after":"2019-11-30T12:00:00"
}
]"""

import json
j = json.loads(jsonstring)
[item["issuer_name"] for item in j]

Дает:

["C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3",
 'C=US, O=Amazon, OU=Server CA 1B, CN=Amazon']

Мне они не кажутся именами, но это то, что присвоено полю issuer_name, поэтому я думаю, что вы должны обсудить это с владельцем данных.

Если это файл, вы выполняете загрузку по этой базовой схеме:

# something like this
with open("jsonfile.json", "rb") as fp:
    j = json.load(fp) 

См. Документы здесь: https://docs.python.org/3.7/library/json.html

Это именно то, что я ищу. Большое спасибо за вашу помощь!

W0rm 11.11.2018 21:31

Отлично @ W0rm. Если ответ помог решить вашу проблему, отметьте его как ответ!

Charles Landau 11.11.2018 21:56

Другие вопросы по теме