使用python读取嵌套的json数据

2024-09-30 20:32:28 发布

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

我试图从下面的JSon数据中读取所有采购订单的所有id。在下面的示例中,只有两个id(523fbc6c-359a-49ea-81ea-065e20e4b1db+77a5e074-5b23-4f85-989d-1b8152982c6e)。有什么办法可以做到这一点吗

尝试了一些博客和代码片段,但结果如下:)可以使用下一个示例:

json_data = {
        "purchaseOrder": [
            {
                "id": "523fbc6c-359a-49ea-81ea-065e20e4b1db",
                "installationNumber": "test",
                "peerId": "ac0fd195-cb24-4ced-a5fe-664a25651855",
                "validFrom": "2019-05-28T14:57:21.000+0000",
                "validTo": "2019-05-28T15:57:21.000+0000",
                "originalQuantity": 20,
                "quantity": 0,
                "price": 5,
                "periodInitial": "2019-05-28T15:00:00.000+0000",
                "periodFinal": "2019-05-28T16:00:00.000+0000"
            },
            {
                "id": "77a5e074-5b23-4f85-989d-1b8152982c6e",
                "installationNumber": "test",
                "peerId": "308866ba-90cb-47a7-8c73-589c0f355eb7",
                "validFrom": "2019-05-28T14:57:21.000+0000",
                "validTo": "2019-05-28T15:57:21.000+0000",
                "originalQuantity": 20,
                "quantity": 15,
                "price": 5,
                "periodInitial": "2019-05-28T15:00:00.000+0000",
                "periodFinal": "2019-05-28T16:00:00.000+0000"
            }
        ],
        "salesOrder": [
            {
                "id": "7113f1ee-6980-4447-bf71-75c93a4c5bad",
                "installationNumber": "test",
                "peerId": "308866ba-90cb-47a7-8c73-589c0f355eb7",
                "validFrom": "2019-05-28T14:57:21.000+0000",
                "validTo": "2019-05-28T15:57:21.000+0000",
                "originalQuantity": 20,
                "quantity": 0,
                "price": 5,
                "periodInitial": "2019-05-28T15:00:00.000+0000",
                "periodFinal": "2019-05-28T16:00:00.000+0000"
            }
        ],
        "agreement": [
            {
                "id": "e0f0ea4d4ecb357f443df720c457d8f20bcdc0b9d28b8eaa24a1b6bd80bd3ac50",
                "installationNumber": "test",
                "quantity": 15,
                "price": 5,
                "periodInitial": "2019-05-28T15:00:00.000+0000",
                "periodFinal": "2019-05-28T16:00:00.000+0000",
                "type": "A",
                "status": "",
                "agrPurchOrder": "523fbc6c-359a-49ea-81ea-065e20e4b1db",
                "agrSalesOrder": "7113f1ee-6980-4447-bf71-75c93a4c5bad",
                "creationDate": "2019-06-06T09:42:46.710+0000"
            },
            {
                "id": "e0f0ea4d4ecb357f443df720c457d8f20bcdc0b9d28b8eaa24a1b6bd80bd3ac51",
                "installationNumber": "test",
                "quantity": 5,
                "price": 5,
                "periodInitial": "2019-05-28T15:00:00.000+0000",
                "periodFinal": "2019-05-28T16:00:00.000+0000",
                "type": "A",
                "status": "",
                "agrPurchOrder": "77a5e074-5b23-4f85-989d-1b8152982c6e",
                "agrSalesOrder": "7113f1ee-6980-4447-bf71-75c93a4c5bad",
                "creationDate": "2019-06-06T09:42:46.711+0000"
            }
        ],
        "status": ""
    }

Tags: testid示例typestatuspricequantityvalidto
3条回答

您可以导入JSON数据并通过“purchaseOrder”数组进行循环,并将每个元素的ID追加到数组中

使用list comprehensions

result = [x['id'] for x in json_data['purchaseOrder']]

['523fbc6c-359a-49ea-81ea-065e20e4b1db',
 '77a5e074-5b23-4f85-989d-1b8152982c6e']

使用理解,它将收集采购订单中的所有id

print([item['id'] for item in json_data['purchaseOrder']])

Result: ['523fbc6c-359a-49ea-81ea-065e20e4b1db', '77a5e074-5b23-4f85-989d-1b8152982c6e']

相关问题 更多 >