Datové procesy / 06

Převod JSON a XML do spolehlivého cílového modelu.

Data jsou technicky čitelná, a přesto odmítaná. Názvy polí, typy nebo struktury neodpovídají cílové aplikaci. Vytváříme dohledatelný mapping, který řeší i prázdné hodnoty, zvláštní případy a změny zdrojového formátu.

JSON · XMLNamespaces · Datové typyMapping · Schéma

Výchozí stav

Syntaktická platnost ještě neznamená obchodní správnost.

XML rozhraní poskytuje produkty s atributy a namespaces. Cíl očekává JSON objekty, jednoznačné stringy a pole pro všechny varianty. Jediný XML element nesmí náhle vést k jinému cílovému typu než více elementů.

Zdrojový kontrakt, cílový kontrakt a transformační pravidla definujeme odděleně. Povinné hodnoty, null a prázdné stringy dostávají obchodní význam; čísla a časové údaje se nemění plošnou textovou konverzí.

Co zajišťuje DataSource

Cesty polí, typy a validace.

Modelovat

Zmapování polí, atributů, seznamů a referencí. Zpracování XML namespaces podle URI, bez spoléhání pouze na volitelně zvolené prefixy.

Transformovat

Implementace mappingu, konverzí typů a normalizace jako verzovaných pravidel. Výslovné zachování desetinné přesnosti, ID a časových pásem.

Validovat

Ověření zdrojového formátu a cílového kontraktu. Obchodní pravidla doplňují JSON Schema nebo XML Schema; neplatné scénáře hlásíme s výstižnou cestou pole.

Technický scénář / ilustrativní příklad

Z XML produktu vzniká jasně typovaný objekt.

Ilustrativní příklad s namespace a string ID. Prefix p je zaměnitelný; přiřazení určuje namespace URI. Cena zde záměrně zůstává desetinným stringem.

Vzorová data a navržená pravidla. Konkrétní rozhraní a obchodní pravidla se prověří pro váš projekt.

XML → JSON / příklad
<p:product xmlns:p="urn:example:catalog" id="004218">
  <p:price currency="EUR">49.90</p:price>
</p:product>

→ {
  "sku": "004218",
  "price": "49.90",
  "currency": "EUR"
}

Ošetření chyb, bezpečnost a provoz

Viditelné řešení odchylek schématu.

01

Bezpečnost parseru

Zakázat nekontrolované externí XML entity a externí zdroje. Omezit velikost, hloubku a počet elementů; importovaná data nejsou důvěryhodné programy.

02

Změna verze

Dokumentovat verzi mappingu společně se zdrojovým schématem. Nová povinná pole ověřit na reprezentativních testovacích datech a kontrolovaně nasadit.

03

Kontext chyby

Uvést dotčený záznam a cestu pole. Citlivé payloady používat pouze výslovně schválenými, chráněnými diagnostickými cestami.

Odborné otázky

Detaily důležité před implementací.

JSON · XML · Namespaces · Datové typy · Mapping · Schéma

Je konverze bezeztrátová?

Pouze s dohodnutým modelem. XML zná atributy, namespaces a smíšený obsah; JSON je automaticky nezobrazuje rovnocenně.

Potřebujeme vždy schéma?

Ověřitelný kontrakt je důležitý. Formální schéma pomáhá, ale nenahrazuje pravidla, jako jsou platné reference produktů nebo přípustné změny stavů.

Co se stane s neznámými poli?

Podle kontraktu se ignorují, zachovají nebo odmítnou. Chování se stanoví výslovně, nerozhoduje se až v produkčním provozu.

Pro technické vyjasnění

Začít vaším konkrétním procesem.

Připravte anonymizované zdrojové příklady, cílové schéma, definice polí a problematické scénáře. Při ověřování pomůže prázdný seznam i struktura s jedním a více prvky.

V prvním rozhovoru vyjasníme dostupné přístupy, odpovědnost za data a omezený první datový tok. Poté dohodneme rozsah, odpovědnosti a podmínky.

Probrat projekt

Pro začátek stačí anonymizované příklady. V prvním dotazu neposílejte hesla, tokeny ani produkční data s osobními údaji.

Kontakt a rezervace termínu

Související úlohy

Další propojení v kontextu.

Datové procesy

Automatizovat import CSV

Soubor přichází každý den. Někdo opraví sloupce, nahraje jej a následně kontroluje chybové zprávy. DataSource z této opakované ruční činnosti vytvoří dokumentovaný import s jasnými pravidly pro neúplná a chybná data.

Platformy

Integrace REST API

Dokumentace existuje, testovací request funguje. V běžném provozu přesto chybějí data nebo vznikají duplicitní záznamy. DataSource propojí vaše REST API s konkrétním obchodním procesem a plánuje i případ, kdy odpověď nepřijde.

Datové procesy

Automatizovat procesy produktových dat

ERP dodává kmenová data, PIM texty a dodavatel technické parametry. Ruční seznamy tyto informace propojují jen dočasně. Vytvoříme definovaný datový tok od autoritativního pole po ověřený export pro daný kanál.