You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中读取嵌套JSON?用pandas.json_normalize提取Contacts字段

解决嵌套JSON提取问题:用pandas json_normalize获取Contacts字段

我刚好处理过类似的Salesforce嵌套JSON解析需求,你的问题核心是Contacts字段本身是一个包含records数组的嵌套对象,直接用默认的json_normalize只会把Contacts当成一个整体列,没法提取里面的字段。下面是具体的解决方法:

核心思路

我们需要告诉json_normalize三个关键信息:

  1. 嵌套的Contact记录所在的路径(record_path参数)
  2. 需要保留哪些上层(Account)的字段(meta参数)
  3. 设置列名分隔符,让嵌套字段的列名变成Contacts.Name这种格式(sep参数)

完整代码示例

import pandas as pd

# 假设你的响应已经转成字典格式
r_dict = r.json()

# 调用json_normalize解析嵌套结构
df = pd.json_normalize(
    data=r_dict['records'],
    record_path=['Contacts', 'records'],  # 指定要解析的嵌套Contact记录路径
    meta=[
        'Id', 'Name', 'BillingStreet', 'BillingCity',
        'BillingState', 'BillingPostalCode', 'CPF_ou_CNPJ__c'
    ],  # 保留Account层面的所有目标字段
    sep='.'  # 用"."分隔嵌套字段名,生成Contacts.Name、Contacts.Email这类格式
)

效果说明

运行这段代码后,你会得到完全符合需求的DataFrame:

  • 包含Account的Id、Name、BillingStreet等所有指定字段
  • 同时包含Contact的Contacts.Name、Contacts.Email、Contacts.Phone等目标字段
  • 如果一个Account关联多个Contact记录,代码会自动将每个Contact拆分成单独一行,对应同一个Account的信息,这也是多对一关联数据的合理展示方式

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 18:07:53