Centrum pomoci HealthyApps
Slovenčina
Centrum pomoci
Hlavná stránka ↗

Hľadať v pomocníkovi

Tréningy - formát exportu JSON

Dokumentácia štruktúry tréningov v JSON exportoch

Posledná aktualizácia: 31. októbra 2026

Na tejto stránke
Verzie exportu
Tréningy Verzia 2 Tréningy Verzia 2 Základná štruktúraPovinné poliaVoliteľné poliaČasové zoskupenie metrík tréningu
Tréningy Verzia 1 (legacy) Tréningy Verzia 1 (legacy) Štruktúra Verzie 1
Súvisiaca dokumentácia

JSON exporty ukladajú tréningy v poli workouts.

Verzie exportu

Health Auto Export podporuje dve verzie exportu tréningov:

  • Verzia 2 (odporúčaná): Rozšírený formát s podrobnejšími metadátami a štruktúrovanými údajmi
  • Verzia 1 (legacy): Starší formát udržiavaný kvôli kompatibilite s existujúcimi pracovnými postupmi

Tréningy Verzia 2

Verzia 2 zahŕňa nasledujúce povinné polia a voliteľné údaje. Príklady používajú vypnuté Lokalizovať jednotky; zapnutie môže zmeniť štítky jednotiek v sériách metrík.

Základná štruktúra

{
  "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
}

Povinné polia

  • id (String): Jedinečný identifikátor tréningu
  • name (String): Názov typu tréningu (napr. "Running", "Cycling", "Swimming")
  • start (Date): Začiatočný čas tréningu vo formáte yyyy-MM-dd HH:mm:ss Z
  • end (Date): Koncový čas tréningu vo formáte yyyy-MM-dd HH:mm:ss Z
  • duration (Number): Trvanie tréningu v sekundách

Voliteľné polia

Voliteľné polia závisia od dostupných údajov a vašich výberov exportu:

Zdroj nahrávania

{
  "source": {
    "name": "Workout App",
    "identifier": "com.example.workouts"
  }
}
  • source (Object): Aplikácia alebo zariadenie, ktoré zaznamenalo tréning, s názvom a identifikátorom aplikácie. Jednotlivé hodnoty metrík majú samostatné reťazce zdroja a môžu pochádzať z inej aplikácie alebo zariadenia.

Informácie o lokalite

{
  "location": "Outdoor",
  "isIndoor": false
}
  • location (String): Jedno z "Indoor", "Outdoor", "Pool", "Open Water"
  • isIndoor (Boolean): Či bol tréning vykonaný vo vnútri

Energia a intenzita

{
  "activeEnergyBurned": {
    "qty": 350,
    "units": "kcal"
  },
  "totalEnergy": {
    "qty": 450,
    "units": "kcal"
  },
  "intensity": {
    "qty": 8.5,
    "units": "kcal/hr\u00b7kg"
  }
}
  • activeEnergyBurned (Object): Aktívne kalórie spálené počas tréningu
  • totalEnergy (Object): Celkové kalórie (aktívne + pokojové) spálené
  • intensity (Object): Hodnota metabolického ekvivalentu úlohy (MET)

Vzdialenosť a rýchlosť

{
  "distance": {
    "qty": 3.5,
    "units": "mi"
  }
}
  • distance (Object): Celková prejdená vzdialenosť
  • speed (Object): Priemerná rýchlosť vypočítaná zo vzdialenosti a trvania
  • avgSpeed (Object): Priemerná rýchlosť počas tréningu
  • maxSpeed (Object): Dosiahnutá maximálna rýchlosť

Každý objekt zahŕňa qty a units.

Prevýšenie

{
  "elevationUp": {
    "qty": 500,
    "units": "ft"
  },
  "elevationDown": {
    "qty": 450,
    "units": "ft"
  }
}
  • elevationUp (Object): Celkové získané prevýšenie
  • elevationDown (Object): Celkové stratené prevýšenie

Jednotky: "ft" (stopy) alebo "m" (metre)

Environmentálne údaje

{
  "temperature": {
    "qty": 72,
    "units": "degF"
  },
  "humidity": {
    "qty": 65,
    "units": "%"
  }
}
  • temperature (Object): Okolitá teplota počas tréningu
  • humidity (Object): Percento relatívnej vlhkosti

Jednotky teploty: "degF" (Fahrenheit) alebo "degC" (Celsius)

Polia špecifické pre plávanie

{
  "lapLength": {
    "qty": 0.025,
    "units": "mi"
  },
  "strokeStyle": "Freestyle",
  "swolfScore": 45,
  "salinity": "Fresh Water",
  "totalSwimmingStrokeCount": {
    "qty": 1200,
    "units": "count"
  },
  "swimCadence": {
    "qty": 30,
    "units": "count/min"
  }
}
  • lapLength (Object): Dĺžka každého kola
  • strokeStyle (String): Jedno z:
    • "Backstroke"
    • "Breaststroke"
    • "Butterfly"
    • "Freestyle"
    • "Mixed"
    • "Kickboard"
    • "Unknown"
  • swolfScore (Number): Skóre plávacej efektivity
  • salinity (String): "Fresh Water" alebo "Salt Water"
  • totalSwimmingStrokeCount (Object): Celkový počet záberov
  • swimCadence (Object): Zábery za minútu

Údaje krokov a kadencie

{
  "stepCount": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 5000,
      "units": "count",
      "source": "Apple Watch"
    }
  ],
  "stepCadence": {
    "qty": 180,
    "units": "count/min"
  },
  "flightsClimbed": {
    "qty": 10,
    "units": "count"
  }
}
  • stepCount (Array): Pole meraní počtu krokov v čase
  • stepCadence (Object): Kroky za minútu
  • flightsClimbed (Object): Počet prekonaných poschodí

Údaje srdcovej frekvencie

{
  "heartRate": {
    "min": {
      "qty": 120,
      "units": "count/min"
    },
    "avg": {
      "qty": 150,
      "units": "count/min"
    },
    "max": {
      "qty": 175,
      "units": "count/min"
    }
  },
  "maxHeartRate": {
    "qty": 175,
    "units": "count/min"
  },
  "avgHeartRate": {
    "qty": 150,
    "units": "count/min"
  },
  "heartRateData": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "Min": 120,
      "Avg": 150,
      "Max": 175,
      "units": "count/min",
      "source": "Apple Watch"
    }
  ],
  "heartRateRecovery": [
    {
      "date": "2024-02-06 07:30:00 -0800",
      "Min": 140,
      "Avg": 145,
      "Max": 150,
      "units": "count/min",
      "source": "Apple Watch"
    }
  ]
}
  • heartRate (Object): Súhrn s min., priem. a max. srdcovou frekvenciou počas tréningu
  • maxHeartRate (Object): Maximálna srdcová frekvencia počas tréningu
  • avgHeartRate (Object): Priemerná srdcová frekvencia počas tréningu
  • heartRateData (Array): Podrobné merania z tréningu, končiace keď tréning skončí
  • heartRateRecovery (Array): Samostatné merania z dvoch minút ihneď po skončení tréningu

Súhrnné srdcové frekvencie používajú zaznamenané hodnoty tréningu, keď sú dostupné, inak hodnoty srdcovej frekvencie tréningu. Exportované hodnoty zahŕňajú merania počas pauz, takže ich špičky a priemery sa môžu líšiť od súhrnu.

Polia údajov časovej rady

Mnohé metriky môžu byť zahrnuté ako polia časovej rady, keď je zapnuté „Zahrnúť metriky tréningu“:

{
  "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": "count/min",
      "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": "mi/hr",
      "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"
    }
  ]
}

Štruktúra QuantityData:

  • date (Date): Časová pečiatka merania
  • qty (Number): Hodnota množstva
  • units (String): Merná jednotka
  • source (String, voliteľné): Zariadenie alebo aplikácia zdroja údajov

Štruktúra HeartRateData:

  • date (Date): Časová pečiatka merania
  • Min (Number): Minimálna srdcová frekvencia
  • Avg (Number): Priemerná srdcová frekvencia
  • Max (Number): Maximálna srdcová frekvencia
  • units (String): Jednotka (count/min pri vypnutom Lokalizovať jednotky)
  • source (String, voliteľné): Zariadenie alebo aplikácia zdroja údajov

Údaje trasy

Keď je zapnuté „Zahrnúť údaje trasy“ a tréning má GPS údaje:

{
  "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
    }
  ]
}

Polia polohy:

  • latitude (Number): GPS súradnica zemepisnej šírky
  • longitude (Number): GPS súradnica zemepisnej dĺžky
  • altitude (Number): Nadmorská výška v metroch
  • course (Number): Smer pohybu v stupňoch (0–360)
  • courseAccuracy (Number): Presnosť merania kurzu v stupňoch
  • horizontalAccuracy (Number): Horizontálna presnosť polohy v metroch
  • verticalAccuracy (Number): Vertikálna presnosť polohy v metroch
  • timestamp (Date): Čas, keď bola poloha zaznamenaná
  • speed (Number): Rýchlosť v metroch za sekundu
  • speedAccuracy (Number): Presnosť merania rýchlosti v m/s

Metadáta

{
  "metadata": {
    "customField": {
      "label": "value",
      "quantity": 123
    },
    "anotherField": [
      1,
      2,
      3
    ]
  }
}
  • metadata (Object): Ďalšie vlastné metadáta spojené s tréningom

Udalosti, aktivity a medzičasy

JSON a Markdown exporty Verzie 2 môžu zahŕňať events, segments, laps a activities zaznamenané aplikáciou tréningu. Zostávajú dostupné, keď je Zahrnúť metriky tréningu vypnuté. CSV a GPX tieto záznamy nezahŕňajú.

So zapnutým Zahrnúť metriky tréningu a vybranými relevantnými metrikami môžu intervaly tiež zahŕňať vzdialenosť, aktívnu energiu, súhrny srdcovej frekvencie a tempo alebo rýchlosť aktívneho času. Hodnoty rozlišujú zaznamenané merania od odhadov; nedostupné hodnoty sa vynechávajú.

Pri vybranej vzdialenosti môže splits zahŕňať odhadované kilometrové a míľové medzičasy. Môžu sa líšiť od medzičasov nahrávacej aplikácie a posledný medzičas je označený ako čiastočný, keď je kratší než cieľová vzdialenosť. Chýbajúce hodnoty vzdialenosti alebo nepodporované typy tréningov môžu zabrániť výpočtu medzičasov.

Skóre úsilia tréningu

JSON a Markdown exporty Verzie 2 môžu zahŕňať vybrané hodnoty Skóre úsilia tréningu (effortScore) a Odhadované skóre úsilia tréningu (estimatedEffortScore). Každé je objekt s qty a units: "appleEffortScore".

Skóre vyžadujú iOS 18 alebo novší a prístup k zodpovedajúcim údajom v Apple Health. Skóre celého tréningu a aktivity sú samostatné. Sú nezávislé od Časového zoskupenia a Zahrnúť metriky tréningu; CSV ich nezahŕňa.

V Prehliadať → Tréningy otvorte hárok exportu zoznamu alebo nastavenia exportu Verzie 2 tréningu a pred exportom použite Vybrať polia exportu na voľbu skóre úsilia.

Časové zoskupenie metrík tréningu

Pri použití Verzie exportu 2 a zapnutom „Zahrnúť metriky tréningu“ môžete riadiť granularitu údajov časovej rady:

  • Minúty: Zoskupuje metriky tréningu podľa minút hodín. Prvá a posledná minúta môžu zahŕňať niekoľko sekúnd tesne pred začiatkom alebo tesne po skončení tréningu.
  • Sekundy: Zoskupuje metriky tréningu podľa sekúnd hodín, pričom každá pečiatka označuje začiatok svojej sekundy. Prvá a posledná sekunda môžu zahŕňať zlomok sekundy tesne mimo tréningu. Súbory sú väčšie než pri zoskupení po minútach.

Aktívna a pokojová energia používajú rovnaké kombinované súčty ako iné metriky tréningu v každej časovej skupine. Hodnoty z viacerých zariadení alebo aplikácií sú zahrnuté spolu.

Tréningy Verzia 1 (legacy)

Verzia 1 používa jednoduchšiu štruktúru. Pre nové exporty sa odporúča Verzia 2.

Štruktúra Verzie 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": "bpm"
    }
  ],
  "route": [
    {
      "lat": 37.7749,
      "lon": -122.4194,
      "altitude": 50.5,
      "timestamp": "2024-02-06 07:00:00 -0800"
    }
  ]
}

Súvisiaca dokumentácia