jsonecho

JSON în Haskell

Lipește un exemplu JSON pentru a genera tipurile Haskell corespunzătoare.

Se încarcă instrumentul...

Cum folosești JSON în Haskell

  1. Lipește un exemplu JSON reprezentativ, de preferat cu toate câmpurile opționale completate.
  2. Alege numele tipului rădăcină și decide dacă vrei și cod ajutător sau doar tipurile.
  3. Copiază codul Haskell generat în proiectul tău.

Despre JSON în Haskell

Să scrii manual clase de model pentru un volum mare de date JSON este monoton și poți face ușor greșeli de tastare. Lipește aici un exemplu, iar generatorul identifică structura: ce câmpuri există, care sunt obiecte, care sunt array-uri și ce tip are fiecare valoare. Rezultatul conține tipuri de înregistrări cu instanțe ToJSON și FromJSON din Aeson.

Câmpurile înregistrărilor primesc un prefix bazat pe numele tipului, deoarece Haskell nu permite ca două înregistrări din același modul să aibă aceleași nume de câmpuri. Totul rulează în browser, așa că datele din exemplu rămân pe dispozitivul tău.

Utilizarea codului generat

Utilizarea decode de la Data.Aeson, de exemplu decode text :: Maybe Root.

Câmpurile opționale folosesc tipul Maybe.

Întrebări frecvente

Ce dependențe are codul Haskell generat?

Rezultatul conține tipuri de înregistrări cu instanțe ToJSON și FromJSON din Aeson.

Cum să analizez JSON cu rezultatul?

Utilizarea decode de la Data.Aeson, de exemplu decode text :: Maybe Root.

Cum sunt tratate câmpurile opționale și cele care lipsesc?

Câmpurile opționale folosesc tipul Maybe.

Generatorul analizează mai mult de o înregistrare?

Generatorul cunoaște doar datele din exemplul tău. Un câmp care lipsește din exemplu nu va apărea în tipurile generate. Dacă o valoare este null, tipul ei nu poate fi determinat. Lipește un exemplu cu cât mai multe câmpuri completate sau un array cu mai multe înregistrări diferite.

Datele mele JSON sunt trimise la un server?

Nu. La prima utilizare, generatorul este descărcat în browser, aproximativ 1 MB. Apoi totul rulează local.

Mai multe din Din date în clase

Toate instrumentele →