📜  python get part of jason from string - Python (1)

📅  最后修改于: 2023-12-03 14:45:58.295000             🧑  作者: Mango

Python 获取 JSON 字符串的一部分

在 Python 中,我们经常需要处理 JSON 格式的数据。使用 json 模块可以解析 JSON 字符串或将 Python 对象转换为 JSON 字符串。有时,我们只需要从 JSON 字符串中获取其中的一部分。本文将介绍如何实现此功能。

用法

假设我们有以下 JSON 字符串:

{
    "name": "John Doe",
    "age": 30,
    "address": {
        "street": "123 Main St",
        "city": "Anytown",
        "state": "CA",
        "zip": "12345"
    },
    "phone": "+1 123-456-7890",
    "email": "john.doe@example.com"
}

我们想要获取 address 字段及其值。可以使用 json.loads() 方法将字符串转换为 Python 字典,然后使用字典的切片方法获取其中的一部分:

import json

json_str = '{ "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345" }, "phone": "+1 123-456-7890", "email": "john.doe@example.com" }'
json_dict = json.loads(json_str)

address_dict = json_dict['address']

运行结果:

{'street': '123 Main St', 'city': 'Anytown', 'state': 'CA', 'zip': '12345'}

也可以直接使用切片语法 [:].copy() 方法创建一个字典副本:

import json

json_str = '{ "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345" }, "phone": "+1 123-456-7890", "email": "john.doe@example.com" }'

address_dict = json.loads(json_str)['address'].copy()

运行结果同上。

总结

使用 Python 中内置的 json 模块可以方便地处理 JSON 格式的数据。如果只需要从 JSON 字符串中获取其中的一部分,则需要将字符串转换为 Python 字典,然后使用字典的切片方法或副本方法获取所需的子集。