Конвертировать JSON вложенный массив в Python вложенный список в одну строку - PullRequest
1 голос
/ 25 марта 2020

Я хотел бы преобразовать вложенный массив JSON во вложенный список Python с помощью однострочного Python метода.

Ниже приведен пример моего вложенного массива JSON:

my_dict = {
    "background": "This is a test text.",
    "person": [
        {"name": "Max", "tranx_info": [
            {"tranx_date":"7/1/2020","amount": 82 },
            {"tranx_date":"27/2/2017","amount":177 }]
        },
        {"name": "Lily", "tranx_info": [
            {"tranx_date":"12/7/1989","amount": 165 },
            {"tranx_date":"28/2/1998","amount": 200 },
            {"tranx_date":"28/2/2098","amount": 34 }]
        }
    ]
}

Я предполагаю, что это будет понимание вложенного списка в Python? То, что я пробовал до сих пор, но я могу только превратить результат в список:

tranx_date_result = [x["tranx_date"] for y in my_dict["person"] for x in y["tranx_info"]]

#output
>>> ["7/1/2020","27/2/2017","12/7/1989","28/2/1998","28/2/2098"]

Я бы хотел, чтобы мой результат "tranx_date" был во вложенном списке; как то так:

tranx_date_result = [["7/1/2020","27/2/2017"],["12/7/1989","28/2/1998","28/2/2098"]]

Любая помощь приветствуется:)

1 Ответ

2 голосов
/ 25 марта 2020

Просто используйте понимание вложенного списка:

>>> [[x["tranx_date"] for x in y["tranx_info"]] for y in my_dict["person"]]
[['7/1/2020', '27/2/2017'], ['12/7/1989', '28/2/1998', '28/2/2098']]
...