Vježbanje – JSON format izvoza
Dokumentacija strukture treninga u JSON izvozima
Last updated: February 6, 2026
Na ovoj stranici
Vježbanje
Podaci o vježbanju obuhvaćaju sve sesije vježbanja zabilježene u Apple Zdravlju, primjerice trčanje, biciklizam, plivanje, snagu i druge. U JSON izvozima se treningi pohranjuju u nizu workouts.
Verzije izvoza
Health Auto Export podržava dvije verzije izvoza treninga:
- Verzija 2 (preporučeno): Poboljšani format s detaljnijim metapodacima i strukturiranim podacima
- Verzija 1 (naslijeđe): Stariji format održavan radi kompatibilnosti s postojećim tijekovima rada
Trening verzija 2
Verzija 2 daje sveobuhvatnu strukturu s opcijskim poljima koja se uključuju samo kad su podaci dostupni.
Osnovna struktura
{
"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
}
Obavezna polja
id(String): Jedinstveni identifikator treninganame(String): Naziv vrste treninga (npr. „Running”, „Cycling”, „Swimming”)start(Date): Početak treninga u formatuyyyy-MM-dd HH:mm:ss Zend(Date): Kraj treninga u formatuyyyy-MM-dd HH:mm:ss Zduration(Number): Trajanje treninga u sekundama
Opcijska polja
Sljedeća polja uključuju se samo kad su podaci dostupni:
Informacije o lokaciji
{
"location": "Outdoor",
"isIndoor": false
}
location(String): Jedna od vrijednosti"Indoor","Outdoor","Pool","Open Water"isIndoor(Boolean): Je li trening izveden u zatvorenom prostoru
Energija i intenzitet
{
"activeEnergyBurned": {
"qty": 350,
"units": "kcal"
},
"totalEnergy": {
"qty": 450,
"units": "kcal"
},
"intensity": {
"qty": 8.5,
"units": "MET"
}
}
activeEnergyBurned(Object): Aktivno potrošene kalorije tijekom treningatotalEnergy(Object): Ukupne kalorije (aktivne + u mirovanju)intensity(Object): Vrijednost metaboličkog ekvivalenta zadatka (MET)
Udaljenost i brzina
{
"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): Ukupna prijeđena udaljenostspeed(Object): Trenutačna ili prosječna brzinaavgSpeed(Object): Prosječna brzina tijekom cijelog treningamaxSpeed(Object): Najveća postignuta brzina
Jedinice:
- Udaljenost:
"mi"(milje) ili"km"(kilometri) - Brzina:
"mph"(milje na sat) ili"kmph"(kilometri na sat)
Nadmorska visina
{
"elevationUp": {
"qty": 500,
"units": "ft"
},
"elevationDown": {
"qty": 450,
"units": "ft"
}
}
elevationUp(Object): Ukupni usponelevationDown(Object): Ukupni spust
Jedinice: "ft" (stope) ili "m" (metri)
Okolišni podaci
{
"temperature": {
"qty": 72,
"units": "degF"
},
"humidity": {
"qty": 65,
"units": "%"
}
}
temperature(Object): Okolišna temperatura tijekom treningahumidity(Object): Relativna vlažnost zraka u postotku
Jedinice temperature: "degF" (Fahrenheit) ili "degC" (Celsius)
Polja specifična za plivanje
{
"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): Duljina svakog krugastrokeStyle(String): Jedna od vrijednosti:"Backstroke""Breaststroke""Butterfly""Freestyle""Mixed""Kickboard""Unknown"
swolfScore(Number): Bodovanje učinkovitosti plivanja (SWOLF)salinity(String):"Fresh Water"ili"Salt Water"totalSwimmingStrokeCount(Object): Ukupan broj zamahaswimCadence(Object): Zamasi u minuti
Podaci o koracima i kadenci
{
"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): Niz mjerenja broja koraka tijekom vremenastepCadence(Object): Koraci u minutiflightsClimbed(Object): Broj pređenih katova stubišta
Podaci o otkucajima srca
{
"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): Sažetak s min., prosjekom i maks. otkucajimamaxHeartRate(Object): Najveći broj otkucaja tijekom treningaavgHeartRate(Object): Prosječni broj otkucaja tijekom treningaheartRateData(Array): Detaljna mjerenja otkucaja tijekom treningaheartRateRecovery(Array): Mjerenja otkucaja tijekom razdoblja oporavka
Nizovi vremenskih serija podataka
Mnoge metrike mogu biti uključene kao nizovi vremenskih serija kad je uključena opcija „Include Workout Metrics”:
{
"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"
}
]
}
Struktura QuantityData:
date(Date): Vremenska oznaka mjerenjaqty(Number): Numerička vrijednost količineunits(String): Mjerna jedinicasource(String, opcionalno): Izvor podataka (uređaj ili aplikacija)
Struktura HeartRateData:
date(Date): Vremenska oznaka mjerenjaMin(Number): Najmanji broj otkucajaAvg(Number): Prosječni broj otkucajaMax(Number): Najveći broj otkucajaunits(String): Jedinica (obično"bpm")source(String, opcionalno): Izvor podataka (uređaj ili aplikacija)
Podaci o ruti
Kad je uključena opcija „Include Route Data” i trening ima GPS podatke:
{
"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
}
]
}
Polja lokacije:
latitude(Number): GPS geografska širinalongitude(Number): GPS geografska dužinaaltitude(Number): Nadmorska visina u metrimacourse(Number): Smjer kretanja u stupnjevima (0–360)courseAccuracy(Number): Točnost mjerenja smjera u stupnjevimahorizontalAccuracy(Number): Točnost horizontalnog položaja u metrimaverticalAccuracy(Number): Točnost vertikalnog položaja u metrimatimestamp(Date): Vrijeme kad je lokacija zabilježenaspeed(Number): Brzina u metrima u sekundispeedAccuracy(Number): Točnost mjerenja brzine u m/s
Metapodaci
{
"metadata": {
"customField": "value",
"anotherField": 123
}
}
metadata(Object): Dodatni prilagođeni metapodaci povezani s treningom
Trening verzija 1 (naslijeđe)
Verzija 1 koristi jednostavniju strukturu. Za nove izvoze preporučuje se verzija 2.
Struktura verzije 1
{
"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"
}
]
}
Vremensko grupiranje metrika treninga
Kad se koristi verzija izvoza 2 i uključena je opcija „Include Workout Metrics”, možete odabrati granularnost vremenskih serija:
- Minutes: Grupira metrike treninga u intervalima od jedne minute
- Seconds: Grupira metrike treninga u intervalima od jedne sekunde (detaljnije, veća veličina datoteke)
Savjeti
- Include Route Data: Uključite ovu opciju za GPS informacije o ruti pri izvani provedenim treningima
- Include Workout Metrics: Uključite za detaljne vremenske serije metrika poput otkucaja srca, snage i kadence
- Verzija izvoza: Koristite verziju 2 za najpotpuniju strukturu podataka
- Izvoz GPX: Podaci o ruti mogu se izvesti i kao zasebne GPX datoteke za korištenje u aplikacijama za karte