Может ли кто-нибудь помочь извлечь вложенные значения json. У меня есть структура json. Я хочу получить только значение из вложенного json, за исключением ключа. Есть ли у нас какие-либо предопределенные функции для использования

{
 'catalog': [
{
  'catalog_num': 120,
  'type': {
    'screen_inch': 18.0,
    'screen_width': 240.0,
    'screen_height': 78.0
  }
},
{
  'catalog_num': 9992,
  'type': {
    'screen_inch': 18.0,
    'screen_width': 36.0,
    'screen_height': 78.0
  }
},
{
  'catalog_num': 100,
  'type': {
    'screen_inch': 24.0,
    'screen_width': 576.0,
    'screen_height': 78.0
  }
}
 ]
}

Мне нужен вывод в таком формате: -

{
  'catalog': [
{
  'catalog_num': 120,
    'screen_inch': 18.0,
    'screen_width': 240.0,
    'screen_height': 78.0
},
{
  'catalog_num': 9992,
    'screen_inch': 18.0,
    'screen_width': 36.0,
    'screen_height': 78.0
},
{
  'catalog_num': 100,
    'screen_inch': 24.0,
    'screen_width': 576.0,
    'screen_height': 78.0
}
 ]
 }

Есть ли способ извлечь только значения из вложенного json. Я хочу, чтобы "тип" был удален из моего вывода и добавлял ценность существующему объекту.

-1
pydevcode 9 Апр 2021 в 09:26

1 ответ

Лучший ответ

Я предполагаю, что вам дана структура словаря / списка вместо строки json (если последняя, ​​используйте json.loads). Тогда ваш вопрос в основном таков

Как мне конвертировать

d = { key_1: value_1, key_2: {key_3: value_3} }

в

d = { key_1: value_1, key_3: value_3 }?

Один из способов сделать это -

d.update(d.pop(key_2))

См. Документацию dict для объяснения {{X0} } и dict.pop :)

Теперь для вашего варианта использования вам просто нужно повторить это для каждого словаря в списке 'category', возможно, с циклом for.

0
CallMeStag 9 Апр 2021 в 06:47