用Python确定JSON结构

2024-06-26 14:12:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我在数据库中有一个表,其中一列包含一些JSON

在每一行中,单独的JSON将略有不同。每个都将包含JSON的一些属性,但没有一个将包含所有属性。比如说

{
    "testAssignmentName": "RhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarb"
} 

{
    "testSkill": {
        "testProfileId": 72,
        "educationalLevelId": 11
    },
    "primaryPooltrial": {
        "mainTestSkill": {
            "testSkill": {
                "testProfileId": 72,
                "educationalLevelId": 11
            },
            "trialDefinition": {
                "trial": 99.0,
                "trialFrequencyId": 1
            }
        },
        "additionalTestSkills": [],
        "results": [{
                "resultTypeId": 4,
                "resultAmount": 20.0,
                "resultFrequencyId": 2
            }
        ]
    }
} 

{
    "requirements": "RhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarb"
}

{
    "requirements": "RhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarb",
    "testSkill": {
        "testProfileId": 21,
        "educationalLevelId": 17
    },
    "primaryPooltrial": {
        "mainTestSkill": {
            "testSkill": {
                "testProfileId": 21,
                "educationalLevelId": 17
            }
        },
        "results": []
    }
}

{
    "testAssignmentName": "Rhubarb Rhubarb Rhubarb Rhubarb Rhubarb Rhubarb ",
    "requirements": "RhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarb"
}

有没有一段代码可以让我提取整个结构,这样我就可以解析JSON,而不会丢失代码后面部分中的任何属性

谢谢


Tags: 代码数据库json属性resultsrequirementstestprofileidrhubarbrhubarbrhubarbrhubarbrhubarbrhubarbrhubarbrhubarb
1条回答
网友
1楼 · 发布于 2024-06-26 14:12:11

您可以尝试以下操作:

import json

jsonstring = """{
            "requirements": "RhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarb",
            "testSkill": {
                "testProfileId": 21,
                "educationalLevelId": 17
            },
            "primaryPooltrial": {
                "mainTestSkill": {
                    "testSkill": {
                        "testProfileId": 21,
                        "educationalLevelId": 17
                    }
                },
                "results": []
            }
        }"""

data = json.loads(jsonstring)
print (data)

这将产生以下结果:

{'requirements': 'RhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarb', 'primaryPooltrial': {'mainTestSkill': {'testSkill': {'educationalLevelId': 17, 'testProfileId': 21}}, 'results': []}, 'testSkill': {'educationalLevelId': 17, 'testProfileId': 21}}

您还可以选择以下选项:

print (data["requirements"])

并获得以下信息:

RhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarbRhubarb

相关问题 更多 >