健康指标 - JSON 导出格式
JSON 导出中健康指标结构的文档
Last updated: February 6, 2026
健康指标
健康指标代表由您的 Apple Health 应用和连接的设备收集的各种测量值和数据点。在 JSON 导出中,健康指标存储在 metrics 数组中。
指标名称格式
JSON 导出中的所有指标名称都使用 snake_case 格式(带下划线的小写字母)。例如:
- "Step Count" 变为
"step_count" - "Blood Pressure" 变为
"blood_pressure" - "Heart Rate" 变为
"heart_rate" - "Walking + Running Distance" 变为
"walking_running_distance"
结构
metrics 数组包含对象,每个对象代表特定的健康指标类型。大多数健康指标遵循通用结构:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
通用字段
name(String): 健康指标的 snake_case 格式名称(例如:"step_count"、"heart_rate"、"active_energy")units(String): 测量单位(例如:"count"、"bpm"、"kcal")data(Array): 数据点数组,每个包含:qty(Number): 数量值date(Date):yyyy-MM-dd HH:mm:ss Z格式的时间戳
特殊指标格式
某些健康指标具有与通用格式不同的独特结构:
血压
血压读数包括收缩压和舒张压值:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
字段:
systolic(Number): 收缩压(上)血压读数diastolic(Number): 舒张压(下)血压读数
心率
心率数据包括最小值、平均值和最大值:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
字段:
Min(Number): 测量期间的最小心率Avg(Number): 测量期间的平均心率Max(Number): 测量期间的最大心率
睡眠分析
睡眠数据结构根据导出设置中是否启用数据聚合而有所不同。
聚合的睡眠数据
启用聚合后,睡眠数据按天汇总:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"date": "2024-02-06",
"totalSleep": 7.5,
"asleep": 7.0,
"core": 3.5,
"deep": 1.5,
"rem": 2.0,
"sleepStart": "2024-02-05 23:00:00 -0800",
"sleepEnd": "2024-02-06 06:30:00 -0800",
"inBed": 8.0,
"inBedStart": "2024-02-05 22:45:00 -0800",
"inBedEnd": "2024-02-06 06:45:00 -0800"
}
]
}
字段:
totalSleep(Number): 总睡眠时间(以小时为单位)asleep(Number): 任何睡眠状态的总时间core(Number): 浅睡眠持续时间(以小时为单位)deep(Number): 深睡眠持续时间(以小时为单位)rem(Number): REM 睡眠持续时间(以小时为单位)sleepStart(Date): 睡眠实际开始的时间sleepEnd(Date): 睡眠实际结束的时间inBed(Number): 在床上的总时间(以小时为单位)inBedStart(Date): 您上床的时间inBedEnd(Date): 您起床的时间
未聚合的睡眠数据
禁用聚合后,包含单独的睡眠段:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"startDate": "2024-02-05 23:00:00 -0800",
"endDate": "2024-02-05 23:30:00 -0800",
"qty": 0.5,
"value": "Core",
"deep": 0.0,
"rem": 0.0,
"sleepStart": "2024-02-05 23:00:00 -0800",
"sleepEnd": "2024-02-06 06:30:00 -0800",
"inBed": 8.0,
"inBedStart": "2024-02-05 22:45:00 -0800",
"inBedEnd": "2024-02-06 06:45:00 -0800"
}
]
}
字段:
startDate(Date): 睡眠段的开始时间endDate(Date): 睡眠段的结束时间qty(Number): 段的持续时间(以小时为单位)value(String): 睡眠状态 - 以下之一:"Awake""Asleep"(未分类的睡眠阶段)"In Bed""Core""REM""Deep""Unspecified"
注意: "Asleep" 指的是未分类的睡眠阶段(而不是总睡眠时间)。如果数据源不支持睡眠阶段跟踪,则可能发生这种情况。
血糖
血糖读数包括进餐时间信息:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
字段:
qty(Number): 血糖水平mealTime(String): 以下之一:"Before Meal""After Meal""Unspecified"
性活动
性活动条目跟踪保护措施的使用:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
字段:
Unspecified(Number): 保护状态未知时的计数Protection Used(Number): 使用保护时的计数Protection Not Used(Number): 未使用保护时的计数
洗手
洗手事件跟踪完成状态:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
字段:
qty(Number): 洗手事件的数量value(String): 以下之一:"Complete""Incomplete"
刷牙
刷牙事件跟踪完成状态:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
字段:
qty(Number): 刷牙事件的数量value(String): 以下之一:"Complete""Incomplete"
胰岛素给药
胰岛素给药条目包括给药原因:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
字段:
qty(Number): 给药的胰岛素量reason(String): 以下之一:"Bolus"(餐时胰岛素)"Basal"(基础胰岛素)
常见健康指标
一些常见的导出健康指标包括(所有指标名称均为 snake_case 格式):
- step_count - 每日步数
- walking_running_distance - 移动距离
- active_energy - 通过活动消耗的卡路里
- resting_heart_rate - 静息心率
- heart_rate - 心率测量
- respiratory_rate - 呼吸频率
- body_temperature - 体温读数
- blood_oxygen_saturation - SpO2 水平
- weight_&_body_mass - 体重测量
- body_mass_index - 计算的 BMI 值
- height - 身高测量
- dietary_water - 液体摄入量
- mindful_minutes - 冥想或正念时间
提示
- 时间分组: 使用导出配置中的时间分组设置来控制数据的聚合方式(按秒、分钟、小时、天等)
- 数据聚合: 启用数据聚合以按天汇总睡眠和其他指标,以便于分析
- 选择性导出: 您可以选择在导出中包含哪些特定的健康指标,以减少文件大小和处理时间