首页 > 解决方案 > 在 Python 中展平 Json 嵌套循环

问题描述

我有一个 CSV,它有一个 JSON 格式的列。请让我知道使用 Python 为以下内容展平 JSON 的方法吗?

{
    "xxx": {
        "A": "741",
        "B": "Jacob",
        "C": {
            "UId": "1234",
            "Name": "Jacob",
            "Class": "Two",
            "Age": "07"
        },
        "D": "None",
        "E": "None",
        "F": "None",
        "G": "None",
        "H": "None",
        "I": "None",
        "J": "None",
        "K": "None",
        "L": {
            "Id1": "852",
            "CompanyName": "Jacob and Sons",
            "Id2": "963",
            "Address": "zoo",
            "J": {
                "Product": [{
                    "AId": "789",
                    "AName": "Rice",
                    "AType": "Basmati"
                }, {
                    "AId": "456",
                    "AName": "Soup",
                    "AType": "Tomato"
                }, {
                    "AId": "123",
                    "AName": "Milk",
                    "AType": "Almond"
                }, {
                    "AId": "000",
                    "AName": "Yogurt",
                    "AType": "Greek"
                }]
            }
        },
        "Order": {
            "Pending": "None",
            "Orders": [{
                "A": "159",
                "B": "753",
                "C": "ABC",
                "D": "EFG",
                "E": "blablabla",
                "Date": "2016-10-02T17:27:04Z",
                "Status": "Completed",
                "xxx": {
                    "F": "789",
                    "G": "456",
                    "H": "qwe",
                    "I": "asd",
                    "J": "123",
                    "K": "None"
                },
                "Z": "None"
            }, {
                "A": "951",
                "B": "357",
                "C": "mnb",
                "D": "lkj",
                "E": "hehehe",
                "Date": "2016-10-02T17:27:04Z",
                "Status": "Completed",
                "xxx": {
                    "F": "",
                    "G": "",
                    "H": "",
                    "I": "",
                    "J": "215737",
                    "K": "None"
                },
                "Z": "None"
            }],
            "Y": [{
                "A": "456",
                "B": "963",
                "C": "tyu",
                "D": "fgh",
                "E": "vbn",
                "H": "2016-10-02T17:22:38Z",
                "J": "2016-10-02T17:27:04Z",
                "K": "None",
                "Z": {
                    "A": "846",
                    "B": "ABC",
                    "C": "def",
                    "D": "rdx",
                    "F": "cde",
                    "G": "opk",
                    "H": "yum",
                    "J": "852"
                }
            }]
        },
        "Values": "None"
    },
    "ValidErrors": {
        "Errors": [{
            "Code": "123",
            "Description": "No detail"
        }, {
            "Code": "456",
            "Description": "No Service"
        }, {
            "Code": "789",
            "Description": "Try again"
        }]
    },
    "Status": "Active",
    "Number": "789654321"
}

标签: pythonjsonflatten

解决方案


您可以使用 json 库 => https://docs.python.org/3/library/json.html

import json
flattenJsonStr = json.dumps(json.loads(jsonStr))

这应该做的工作


推荐阅读