Методы анализа вложенного JSON в Python с примерами кода

Для анализа вложенного JSON в Python вы можете использовать различные методы. Вот несколько часто используемых подходов и примеры кода:

Метод 1. Использование модуля json

import json
json_data = '''
{
   "name": "John",
   "age": 30,
   "address": {
       "street": "123 Main St",
       "city": "New York"
   }
}
'''
data = json.loads(json_data)
name = data['name']
age = data['age']
address = data['address']
street = address['street']
city = address['city']
print(name)    # Output: John
print(age)     # Output: 30
print(street)  # Output: 123 Main St
print(city)    # Output: New York

Метод 2. Использование библиотеки jsonpath-ng

from jsonpath_ng import jsonpath, parse
json_data = '''
{
   "name": "John",
   "age": 30,
   "address": {
       "street": "123 Main St",
       "city": "New York"
   }
}
'''
data = json.loads(json_data)
name_expr = parse('$.name')
age_expr = parse('$.age')
street_expr = parse('$.address.street')
city_expr = parse('$.address.city')
name = [match.value for match in name_expr.find(data)][0]
age = [match.value for match in age_expr.find(data)][0]
street = [match.value for match in street_expr.find(data)][0]
city = [match.value for match in city_expr.find(data)][0]
print(name)    # Output: John
print(age)     # Output: 30
print(street)  # Output: 123 Main St
print(city)    # Output: New York

Метод 3. Использование библиотеки pandas

import pandas as pd
json_data = '''
{
   "name": "John",
   "age": 30,
   "address": {
       "street": "123 Main St",
       "city": "New York"
   }
}
'''
data = json.loads(json_data)
df = pd.json_normalize(data, sep='_')
name = df['name'].values[0]
age = df['age'].values[0]
street = df['address_street'].values[0]
city = df['address_city'].values[0]
print(name)    # Output: John
print(age)     # Output: 30
print(street)  # Output: 123 Main St
print(city)    # Output: New York

Это всего лишь несколько примеров того, как анализировать вложенный JSON в Python. В зависимости от вашего конкретного варианта использования и требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям.