JSON-syöte

F#-tulos

Mikä on JSON F#:ksi?

F# käyttää eriytettyä unionia ja tietueita dataan. Kirjastot kuten FSharp.Data tai Thoth.Json hoitavat JSON-serialisoinnin. Tämä työkalu generoi F#-tyypit (tietueet, unionit) JSON-rakenteestasi, jotta voit jäsentää API-vastaukset tyyppiturvallisesti. JSON-määrittely kuvaa syötemuodon.

Muunnos tapahtuu selaimessasi. Aseta tyypin nimi konfiguraatiopaneelissa. Mitään ei lähetetä palvelimelle. Generoidut tyypit toimivat .NET- ja F#-projektien kanssa. C#-yhteensopivuuteen käytä JSON C#:ksi.

Miten työkalua käytetään

1

Liitä tai lataa JSON

Liitä JSON tai lataa tiedosto. Aseta tyypin nimi konfiguraatiopaneelissa. Virheellinen JSON näyttää virheen. Käytä JSON-tarkistinta syntaksin tarkistamiseen ensin.

2

Tarkista F#-tulos

Oikea paneeli näyttää generoidut F#-tyypit. Lisää Thoth.Json tai FSharp.Data ja johda enkoodereia/dekoodereita tarpeen mukaan. Säädä valinnaiset kentät Option-tyypeiksi nullable JSON-arvoille.

3

Kopioi tai lataa

Käytä Kopioi tai Lataa tiedostona. JSON:n muotoiluun ensin käytä JSON-muotoilutyökalua. Validointiin käytä JSON-tarkistinta.

Esimerkkejä JSON F#:ksi

Tässä esimerkki F#-tyyppien generoinnista JSON-objektista.

Esimerkki: Tilaajatietue

JSON-syöte:

Syöte

Generoitu F#-tulos:

Tulos

Milloin JSON F#:ksi auttaa

Kun rakennat F#- tai .NET-sovelluksia, jotka kuluttavat REST API:ja, tarvitset tyypitettyjä malleja vastausdatalle. Liittämällä esimerkkivastauksen tähän saat F#-tietueita tai -unioneja käytettäväksi Thoth.Jsonin tai FSharp.Datan kanssa. F#-kieli ja F#-dokumentaatio kattavat tietueet ja eriytetyt unionit. Tiettyjen arvojen poimimiseen ensin käytä jq:tä.

Usein kysyttyä

Option valinnaisia kenttiä varten?

Käytä Option<T> valinnaisille JSON-kentille. Thoth.Json ja FSharp.Data käsittelevät null- ja puuttuvat avaimet. Ilman Optionia puuttuvat kentät aiheuttavat dekoodausvirheen.

Thoth.Json vai FSharp.Data?

Thoth.Json käyttää F#-tyylisiä enkoodereita/dekoodereita. FSharp.Data tarjoaa tyyppitarjoajia ja JSON-jäsennyksen. Molemmat toimivat generoiduilla tyypeillä. Valitse projektisi riippuvuuksien perusteella.

Onko datani yksityistä?

Kyllä. Generointi tapahtuu kokonaan selaimessasi. Mitään JSON:ia tai koodia ei lähetetä palvelimelle.

Tietueet vai luokat?

F#-tietueet ovat muuttumattomia ja tiiviitä. Generaattori tuottaa yleensä tietueita. Käytä luokkia, jos tarvitset muutettavaa tilaa tai C#-yhteensopivuutta.

Voinko käyttää Suaven tai Giraffin kanssa?

Kyllä. Giraffe on suosittu F#-verkkokehys. Generoidut tyypit toimivat HTTP-käsittelijöiden kanssa. Käytä Thoth.Jsonia tai vastaavaa pyyntö/vastaus-serialisointiin. API-testaukseen Postman ja jq ovat hyödyllisiä.

Liittyvät työkalut

FSharp.Data, Thoth.Json, JSON-määrittely, RFC 8259, F#.