Python JSON парсинг конкретной переменной

У меня к примеру есть такой json:

{
  "Name": Vladimir,
  "Time": "15:34",
  "Date": "12.04.1997"
}{
  "Name": Egor,
  "Time": "12:11",
  "Date": "05.02.1994"
}
и т.д

Как мне с помощью питона отпарсить только значения переменной "Name" + "Date"? С учетом что таких строк jsonов более ста, и все уникальные.


Ответы (1 шт):

Автор решения: Praetorian
  1. Скажите как должен выглядеть конечный результат?
  2. Дело имеем с json или x-ndjson? Я так понимаю, что с первым, тогда формат должен быть примерно такой [{}, {}]

Если результатом должен быть кортеж вида (имя, дата), то простое решение может выглядеть так:

import json

# где response ваш json
result = [
    (i['Name'], i['Date']) for i in json.loads(response)
]
# [('Vladimir', '12.04.1997'), ('Egor', '05.02.1994')]

Для более сложных случаев можно посмотреть на библиотеку jsonpath-ng. Поиграться с путями можно здесь. Быстрый пример без разбивки по кортежам:

import json
from jsonpath_ng import parse

expression = parse('$[*][Name,Date]')
result = [
    match.value for match in expression.find(response)
]
# ['Vladimir', '12.04.1997', 'Egor', '05.02.1994']
→ Ссылка