按“路径”从JSON对象中提取数据
创始人
2024-09-03 07:00:45
0

以下是一个示例代码,展示了如何从JSON对象中按路径提取数据:

import json

def get_value_by_path(json_obj, path):
    path_list = path.split('.')
    current_obj = json_obj
    for key in path_list:
        if key.isdigit():
            key = int(key)
        current_obj = current_obj[key]
    return current_obj

# 示例 JSON 对象
json_str = '''
{
  "name": "John",
  "age": 30,
  "address": {
    "street": "123 Street",
    "city": "New York"
  },
  "hobbies": ["reading", "painting", "music"]
}
'''

# 将 JSON 字符串解析为 JSON 对象
json_obj = json.loads(json_str)

# 提取数据
name = get_value_by_path(json_obj, 'name')
age = get_value_by_path(json_obj, 'age')
street = get_value_by_path(json_obj, 'address.street')
city = get_value_by_path(json_obj, 'address.city')
first_hobby = get_value_by_path(json_obj, 'hobbies.0')

# 打印结果
print(f"Name: {name}")
print(f"Age: {age}")
print(f"Street: {street}")
print(f"City: {city}")
print(f"First Hobby: {first_hobby}")

上述代码首先定义了一个get_value_by_path函数,该函数接受一个JSON对象和路径作为参数,然后按照路径提取数据并返回结果。

接下来,我们将示例JSON字符串解析为JSON对象。然后,我们使用get_value_by_path函数提取了姓名、年龄、街道、城市和第一个爱好的数据,并将结果打印出来。

注意,路径可以是包含嵌套层级和数组索引的字符串,使用.分隔。在处理数字索引时,我们将其转换为整数类型。

希望这个示例能够帮助你理解如何按路径从JSON对象中提取数据。

相关内容

热门资讯

终于懂了!广西星悦字牌有挂么(... 终于懂了!广西星悦字牌有挂么(辅助挂)切实真的有挂(2020已更新)(哔哩哔哩);1)广西星悦字牌有...
十分钟了解!中至小程序辅助器免... 十分钟了解!中至小程序辅助器免费2.0,边锋斗地主透明器,细节揭秘(有挂插件)1、构建自己的中至小程...
今日头条!创思维激k游戏辅助工... 今日头条!创思维激k游戏辅助工具(透视)本来存在有挂(2021已更新)(哔哩哔哩);1、进入到创思维...
9分钟了解!手机网趣沈阳麻将有... 9分钟了解!手机网趣沈阳麻将有挂吗,心悦海南麻将怎么赢,wpk教程(有挂秘笈);暗藏猫腻,小编详细说...
重大来袭!心悦填坑怎么提高胜率... 重大来袭!心悦填坑怎么提高胜率(辅助挂)都是存在有挂(2023已更新)(哔哩哔哩)1、心悦填坑怎么提...
五分钟了解!欢乐龙城3怎么开挂... 五分钟了解!欢乐龙城3怎么开挂,心动麻将有能赢的软件吗,科技教程(有挂插件);暗藏猫腻,小编详细说明...
一分钟了解!众娱十三水胜率调整... 一分钟了解!众娱十三水胜率调整(透视辅助)总是是真的有挂(2023已更新)(哔哩哔哩)1、众娱十三水...
四分钟了解!熊猫互娱有挂吗,欢... 四分钟了解!熊猫互娱有挂吗,欢乐龙城2有外挂吗,透视教程(有挂插件)1、下载好欢乐龙城2有外挂吗辅助...
重大消息!东游麻将修改器(透视... 重大消息!东游麻将修改器(透视)本来真的有挂(2021已更新)(哔哩哔哩);1、东游麻将修改器透视辅...
3分钟了解!决战血流有没有外 ... 3分钟了解!决战血流有没有外 挂,同城游510k辅助,系统教程(有挂总结);1、决战血流有没有外 挂...