Jak převést XML na JSON pomocí Blending Bull

Tohle téma by se mohlo hodit @group_specialists , pokud by potřebovali získat JSON formát feedu ze zdrojového XML feedu.

Princip je snadný:

  • použije se aplikace Blending Bull
  • XML feed se zarovná do tabulky pravidlem v appce
  • jednotlivé řádky se s využitím regulárních výrazů převedou na JSON strukturu
  • nakonec se doladí začátek a konec JSON souboru a je hotovo.

Realizace je také snadná:

V aplikaci Blending Bull stačí jen pár pravidel.

  1. Počáteční stav:

  2. Na záložce Datové zdroje souboru odstraníme hlavičku a patičku XML feedu:

  1. Převedeme XML data do řádků pravidlem pro zarovnání do tabulky:

  2. Pomocí pravidla typu Najít a nahradit s využitím regulárních výrazů převedeme XML data na JSON strukturu.
    Využijeme přitom z regulárních výrazů tzv. jmennou zpětnou referenci, kterou pěkně popsal @michaljanik ve vlákně 🐮 Jak pojmenovat proměnné v regulárních výrazech

  1. nakonec stačí už jen přidat na začátek a konec souboru znaky, kterými začíná a končí JSON formát:

Finální JSON feed

Výsledný feed ve formátu JSON z aplikace Blending Bull získáme pod odkazem na stránce Soubory:

Pokud budete potřebovat poradit nebo pomoci s využitím aplikace Blending Bull, neváhejte se nám ozvat na naši technickou podporu Mergada s konkrétními dotazy. :handshake: :wink:

2 Likes

Ještě doplním, že výše uvedený příklad je postavený na tom, že bude dané pořadí elementů za sebou. Tj. že bude vygenerovaný feed konzistentní a nebudou u některých produktů elementy prohozené či v jiném pořadí.

Pokud bude u některých produktů chybět nějaký element či více elementů, nijak to nevadí a příklad s tímto počítá. Všechny elementy produktu jsou tam brány jako “nepovinné”, tj. klidně mohou chybět a je to i ukázáno na chybějícím elementu SIZE u druhého produktu.

Musí však být dodrženo pořadí elementů za sebou, aby převádění správně fungovalo. :slight_smile:

Pokud nebudete mít feed konzistentní a budou v něm elementy v různém pořadí, můžete si nejprve pořadí elementů v aplikaci Blending Bull nastavit, podrobný návod najdete v tomto vlákně: 🐮 Jak stanovit pořadí elementů v XML feedu. :wink:

1 Like