Harjoitukset – JSON-viennin muoto
Dokumentaatio harjoitusten rakenteesta JSON-vienneissä
Last updated: April 1, 2026
Tällä sivulla
Harjoitukset
Harjoitusdata sisältää kaikki Apple Healthiin tallentamasi liikuntakerrat, kuten juoksua, pyöräilyä, uintoa, voimaharjoittelua ja muuta. JSON-vienneissä harjoitukset tallennetaan taulukkoon workouts.
Vientiversiot
Health Auto Export tukee kahta harjoitusviennin versiota:
- Versio 2 (suositeltu): Laajennettu muoto, jossa on yksityiskohtaisempaa metatietoa ja rakenteellista dataa
- Versio 1 (vanha): Vanhempi muoto, jota ylläpidetään yhteensopivuuden vuoksi olemassa olevien työnkulkujen kanssa
Harjoitukset, versio 2
Versio 2 tarjoaa kattavan rakenteen valinnaisilla kentillä, jotka sisällytetään vain, kun dataa on saatavilla.
Perusrakenne
{
"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
}
Pakolliset kentät
id(String): Harjoituksen yksilöllinen tunnistename(String): Harjoitustyypin nimi (esim."Running","Cycling","Swimming")start(Date): Harjoituksen alkuaika muodossayyyy-MM-dd HH:mm:ss Zend(Date): Harjoituksen loppuaika muodossayyyy-MM-dd HH:mm:ss Zduration(Number): Harjoituksen kesto sekunteina
Valinnaiset kentät
Seuraavat kentät sisällytetään vain, kun dataa on saatavilla:
Sijaintitiedot
{
"location": "Outdoor",
"isIndoor": false
}
location(String): Yksi arvoista"Indoor","Outdoor","Pool","Open Water"isIndoor(Boolean): Harjoitettiinko harjoitus sisällä
Energia ja intensiteetti
{
"activeEnergyBurned": {
"qty": 350,
"units": "kcal"
},
"totalEnergy": {
"qty": 450,
"units": "kcal"
},
"intensity": {
"qty": 8.5,
"units": "MET"
}
}
activeEnergyBurned(Object): Aktiivisesti kulutetut kalorit harjoituksen aikanatotalEnergy(Object): Kokonaiskalorit (aktiivinen + lepotila)intensity(Object): Metabolinen vastine (MET)
Etäisyys ja nopeus
{
"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): Kuljettu kokonaismatkaspeed(Object): Hetkellinen tai keskimääräinen nopeusavgSpeed(Object): Keskimääräinen nopeus koko harjoituksen ajaltamaxSpeed(Object): Suurin saavutettu nopeus
Yksiköt:
- Etäisyys:
"mi"(mailit) tai"km"(kilometrit) - Nopeus:
"mph"(mailia tunnissa) tai"kmph"(kilometriä tunnissa)
Korkeusero
{
"elevationUp": {
"qty": 500,
"units": "ft"
},
"elevationDown": {
"qty": 450,
"units": "ft"
}
}
elevationUp(Object): Kokonaiskorkeuden nousuelevationDown(Object): Kokonaiskorkeuden lasku
Yksiköt: "ft" (jalkaa) tai "m" (metriä)
Ympäristödata
{
"temperature": {
"qty": 72,
"units": "degF"
},
"humidity": {
"qty": 65,
"units": "%"
}
}
temperature(Object): Ympäristön lämpötila harjoituksen aikanahumidity(Object): Suhteellinen kosteus prosentteina
Lämpötilan yksiköt: "degF" (Fahrenheit) tai "degC" (Celsius)
Uintiin liittyvät kentät
{
"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): Yhden kierroksen pituusstrokeStyle(String): Yksi arvoista:"Backstroke""Breaststroke""Butterfly""Freestyle""Mixed""Kickboard""Unknown"
swolfScore(Number): Uinnin tehokkuuspisteet (SWOLF)salinity(String):"Fresh Water"tai"Salt Water"totalSwimmingStrokeCount(Object): Lyöntien kokonaismääräswimCadence(Object): Lyöntejä minuutissa
Askel- ja tempo-tiedot
{
"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): Askelten lukumäärämittauksia ajan jakaumassastepCadence(Object): Askelia minuutissaflightsClimbed(Object): Kiivettyjen porrasaskelmien määrä
Syketiedot
{
"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): Yhteenveto: min-, keski- ja max-sykemaxHeartRate(Object): Suurin syke harjoituksen aikanaavgHeartRate(Object): Keskimääräinen syke harjoituksen aikanaheartRateData(Array): Yksityiskohtaiset sykemittaukset harjoituksen aikanaheartRateRecovery(Array): Sykemittaukset palautumisjakson aikana
Aikasarjataulukot
Monet mittarit voidaan sisällyttää aikasarjoina, kun valinta Include Workout Metrics on käytössä:
{
"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-rakenne:
date(Date): Mittauksen aikaleimaqty(Number): Määrän arvounits(String): Mittayksikkösource(String, valinnainen): Datalähde (laite tai sovellus)
HeartRateData-rakenne:
date(Date): Mittauksen aikaleimaMin(Number): Pienin sykeAvg(Number): Keskimääräinen sykeMax(Number): Suurin sykeunits(String): Yksikkö (tyypillisesti"bpm")source(String, valinnainen): Datalähde (laite tai sovellus)
Reittidata
Kun Include Route Data on käytössä ja harjoituksessa on GPS-dataa:
{
"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
}
]
}
Sijaintikentät:
latitude(Number): GPS-leveysastelongitude(Number): GPS-pituusastealtitude(Number): Korkeus metreinäcourse(Number): Kulkusuunta asteina (0–360)courseAccuracy(Number): Kulkusuunnan mittaustarkkuus asteinahorizontalAccuracy(Number): Vaakatason sijaintitarkkuus metreinäverticalAccuracy(Number): Pystytason sijaintitarkkuus metreinätimestamp(Date): Aika, jolloin sijainti tallennettiinspeed(Number): Nopeus metreinä sekunnissaspeedAccuracy(Number): Nopeusmittauksen tarkkuus m/s
Metatiedot
{
"metadata": {
"customField": "value",
"anotherField": 123
}
}
metadata(Object): Lisämetatietoja, jotka liittyvät harjoitukseen
Harjoitukset, versio 1 (vanha)
Versio 1 käyttää yksinkertaisempaa rakennetta. Uusissa vienneissä suositellaan versiota 2.
Version 1:n rakenne
{
"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"
}
]
}
Harjoitusmittarien aikaryhmittely
Kun käytät vientiversiota 2 ja valinta Include Workout Metrics on käytössä, voit säätää aikasarjadatan tarkkuutta:
- Minutes: Ryhmittelee harjoitusmittarit minuutin välein
- Seconds: Ryhmittelee harjoitusmittarit sekunnin välein (yksityiskohtaisempi, suurempi tiedosto)
Vinkkejä
- Include Route Data: Ota käyttöön, jotta saat GPS-reittitiedot ulkoharjoituksille
- Include Workout Metrics: Ota käyttöön yksityiskohtaisia aikasarjoja varten (esim. syke, teho, tempo)
- Export Version: Käytä versiota 2 kattavimmalle datalle
- GPX Export: Reittidatan voi viedä myös erillisinä GPX-tiedostoina karttasovelluksia varten