Treningsøkter - JSON Eksportformat
Dokumentasjon om treningsstrukturen i JSON-eksporter
Last updated: February 6, 2026
On this page
Treningsøkter
Treningsdata inkluderer alle treningsøktene dine registrert i Apple Health, som løping, sykling, svømming, styrketrening og mer. I JSON-eksporter lagres treningsøkter i arrayet workouts.
Eksportversjoner
Health Auto Export støtter to treningseksportversjoner:
- Versjon 2 (Anbefalt): Forbedret format med mer detaljerte metadata og strukturert data
- Versjon 1 (Legacy): Eldre format som opprettholdes for kompatibilitet med eksisterende arbeidsflyter
Treningsøkter Versjon 2
Versjon 2 gir en omfattende struktur med valgfrie felt som bare inkluderes når data er tilgjengelig.
Grunnstruktur
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Running",
"start": "2024-02-06 07:00:00 -0800",
"end": "2024-02-06 07:30:00 -0800",
"duration": 1800
}
Obligatoriske Felt
id(String): Unik identifikator for treningsøktenname(String): Navn på treningsstype (f.eks. "Running", "Cycling", "Swimming")start(Date): Starttid for treningsøkten i formatetyyyy-MM-dd HH:mm:ss Zend(Date): Sluttid for treningsøkten i formatetyyyy-MM-dd HH:mm:ss Zduration(Number): Varighet av treningsøkten i sekunder
Valgfrie Felt
Følgende felt inkluderes bare når data er tilgjengelig:
Stedinformasjon
{
"location": "Outdoor",
"isIndoor": false
}
location(String): En av"Indoor","Outdoor","Pool","Open Water"isIndoor(Boolean): Om treningsøkten ble utført innendørs
Energi og Intensitet
{
"activeEnergyBurned": {
"qty": 350,
"units": "kcal"
},
"totalEnergy": {
"qty": 450,
"units": "kcal"
},
"intensity": {
"qty": 8.5,
"units": "MET"
}
}
activeEnergyBurned(Object): Aktive kalorier forbrent under treningsøktentotalEnergy(Object): Totale kalorier (aktive + hvile) forbrentintensity(Object): Metabolsk ekvivalent av oppgaven (MET)-verdi
Avstand og Hastighet
{
"distance": {
"qty": 3.5,
"units": "mi"
},
"speed": {
"qty": 7.0,
"units": "mph"
},
"avgSpeed": {
"qty": 7.0,
"units": "mph"
},
"maxSpeed": {
"qty": 8.5,
"units": "mph"
}
}
distance(Object): Total tilbakelagt avstandspeed(Object): Nåværende eller gjennomsnittlig hastighetavgSpeed(Object): Gjennomsnittlig hastighet gjennom hele treningsøktenmaxSpeed(Object): Maksimal hastighet oppnådd
Enheter:
- Avstand:
"mi"(miles) eller"km"(kilometer) - Hastighet:
"mph"(miles per time) eller"kmph"(kilometer per time)
Høyde
{
"elevationUp": {
"qty": 500,
"units": "ft"
},
"elevationDown": {
"qty": 450,
"units": "ft"
}
}
elevationUp(Object): Total høydegevinstelevationDown(Object): Total høydetap
Enheter: "ft" (fot) eller "m" (meter)
Miljødata
{
"temperature": {
"qty": 72,
"units": "degF"
},
"humidity": {
"qty": 65,
"units": "%"
}
}
temperature(Object): Omgivelsestemperatur under treningsøktenhumidity(Object): Relativ luftfuktighet i prosent
Temperaturenheter: "degF" (Fahrenheit) eller "degC" (Celsius)
Svømmespesifikke Felt
{
"lapLength": {
"qty": 0.025,
"units": "mi"
},
"strokeStyle": "Freestyle",
"swolfScore": 45,
"salinity": "Fresh Water",
"totalSwimmingStrokeCount": {
"qty": 1200,
"units": "count"
},
"swimCadence": {
"qty": 30,
"units": "spm"
}
}
lapLength(Object): Lengde på hver banestrokeStyle(String): En av:"Backstroke""Breaststroke""Butterfly""Freestyle""Mixed""Kickboard""Unknown"
swolfScore(Number): Svømmeeffektivitetsresultatsalinity(String):"Fresh Water"eller"Salt Water"totalSwimmingStrokeCount(Object): Totalt antall svømmetakswimCadence(Object): Svømmetak per minutt
Steg- og Kadensedata
{
"stepCount": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 5000,
"units": "count",
"source": "Apple Watch"
}
],
"stepCadence": {
"qty": 180,
"units": "spm"
},
"flightsClimbed": {
"qty": 10,
"units": "count"
}
}
stepCount(Array): Array av stegtellemålinger over tidstepCadence(Object): Steg per minuttflightsClimbed(Object): Antall trapper besteget
Pulsdata
{
"heartRate": {
"min": {
"qty": 120,
"units": "bpm"
},
"avg": {
"qty": 150,
"units": "bpm"
},
"max": {
"qty": 175,
"units": "bpm"
}
},
"maxHeartRate": {
"qty": 175,
"units": "bpm"
},
"avgHeartRate": {
"qty": 150,
"units": "bpm"
},
"heartRateData": [
{
"date": "2024-02-06 07:00:00 -0800",
"Min": 120,
"Avg": 150,
"Max": 175,
"units": "bpm",
"source": "Apple Watch"
}
],
"heartRateRecovery": [
{
"date": "2024-02-06 07:30:00 -0800",
"Min": 140,
"Avg": 145,
"Max": 150,
"units": "bpm",
"source": "Apple Watch"
}
]
}
heartRate(Object): Sammendrag med min, gjennomsnitt og max pulsmaxHeartRate(Object): Maksimal puls under treningsøktenavgHeartRate(Object): Gjennomsnittlig puls under treningsøktenheartRateData(Array): Detaljerte pulsmålinger gjennom hele treningsøktenheartRateRecovery(Array): Pulsmålinger under gjenoppretningsperioden
Tidsrekke-dataarrays
Mange målinger kan inkluderes som tidsrekke-arrays når "Inkluder Treningsmålinger" er aktivert:
{
"activeEnergy": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 50,
"units": "kcal",
"source": "Apple Watch"
}
],
"basalEnergy": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 20,
"units": "kcal",
"source": "Apple Watch"
}
],
"cyclingCadence": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 90,
"units": "rpm",
"source": "Apple Watch"
}
],
"cyclingDistance": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 0.5,
"units": "mi",
"source": "Apple Watch"
}
],
"cyclingPower": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 200,
"units": "W",
"source": "Power Meter"
}
],
"cyclingSpeed": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 18,
"units": "mph",
"source": "Apple Watch"
}
],
"swimDistance": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 25,
"units": "yd",
"source": "Apple Watch"
}
],
"swimStroke": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 20,
"units": "count",
"source": "Apple Watch"
}
],
"walkingAndRunningDistance": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 0.25,
"units": "mi",
"source": "Apple Watch"
}
]
}
QuantityData-struktur:
date(Date): Tidsstempel for målingenqty(Number): Mengdeverdiunits(String): Måleenhetsource(String, valgfri): Datakildeenhet eller app
HeartRateData-struktur:
date(Date): Tidsstempel for målingenMin(Number): Minimal pulsAvg(Number): Gjennomsnittlig pulsMax(Number): Maksimal pulsunits(String): Enhet (vanligvis "bpm")source(String, valgfri): Datakildeenhet eller app
Rutedata
Når "Inkluder Rutedata" er aktivert og treningsøkten har GPS-data:
{
"route": [
{
"latitude": 37.7749,
"longitude": -122.4194,
"altitude": 50.5,
"course": 45.0,
"courseAccuracy": 5.0,
"horizontalAccuracy": 10.0,
"verticalAccuracy": 15.0,
"timestamp": "2024-02-06 07:00:00 -0800",
"speed": 7.0,
"speedAccuracy": 0.5
}
]
}
Stedsfelt:
latitude(Number): GPS-breddegradskoordinatlongitude(Number): GPS-lengdegradskoordinataltitude(Number): Høyde i metercourse(Number): Reiseretning i grader (0-360)courseAccuracy(Number): Nøyaktighet av kursmåling i graderhorizontalAccuracy(Number): Horisontal posisjonsnøyaktighet i meterverticalAccuracy(Number): Vertikal posisjonsnøyaktighet i metertimestamp(Date): Tidspunkt når stedet ble registrertspeed(Number): Hastighet i meter per sekundspeedAccuracy(Number): Nøyaktighet av hastighetsmåling i m/s
Metadata
{
"metadata": {
"customField": "value",
"anotherField": 123
}
}
metadata(Object): Tilleggsbrukerdefinerte metadata tilknyttet treningsøkten
Treningsøkter Versjon 1 (Legacy)
Versjon 1 bruker en enklere struktur. For nye eksporter anbefales Versjon 2.
Versjon 1 Struktur
{
"name": "Running",
"start": "2024-02-06 07:00:00 -0800",
"end": "2024-02-06 07:30:00 -0800",
"totalEnergy": {
"qty": 450,
"units": "kcal"
},
"activeEnergy": {
"qty": 350,
"units": "kcal"
},
"distance": {
"qty": 3.5,
"units": "mi"
},
"heartRateData": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 150,
"units": "count"
}
],
"route": [
{
"lat": 37.7749,
"lon": -122.4194,
"altitude": 50.5,
"timestamp": "2024-02-06 07:00:00 -0800"
}
]
}
Tidsgruppering av Treningsmålinger
Ved bruk av Eksportversjon 2 og når "Inkluder Treningsmålinger" er aktivert, kan du styre granulariteten av tidsrekke-data:
- Minutter: Grupperer treningsmålinger etter minuttintervaller
- Sekunder: Grupperer treningsmålinger etter sekundintervaller (mer detaljert, større filstørrelse)
Tips
- Inkluder Rutedata: Aktiver denne innstillingen for å få GPS-ruteinformasjon for utendørstreningsøkter
- Inkluder Treningsmålinger: Aktiver dette for å få detaljerte tidsrekke-data for målinger som puls, effekt og kadens
- Eksportversjon: Bruk Versjon 2 for den mest omfattende datastrukturen
- GPX-eksport: Rutedata kan også eksporteres som separate GPX-filer for bruk i kartapplikasjoner