JSON-syöte

Dart-tulos

Mikä on JSON Dartiksi?

Dart käyttää luokkia jäsenneltyyn dataan. Kun käytät JSONia Flutter- tai Dart-sovelluksissa, tarvitset vastaavat luokat oikeilla kenttänimillä ja tyypeillä. JSON-määrittely kuvaa objektit, taulukot, merkkijonot, numerot ja totuusarvot — mutta Dart vaatii eksplisiittiset luokkamäärittelyt jokaiselle sisäkkäiselle objektille.

Tämä työkalu luo Dart-luokkia JSON:stasi. Ota JsonSerializable käyttöön fromJson/toJson-metodeja varten. Ota Nullable-tyypit käyttöön valinnaisia kenttiä varten. Tulos toimii json.decode()- ja json.encode()-funktioiden kanssa.

Muunnos tapahtuu kokonaan selaimessasi. JSON:iasi ei koskaan lähetetä palvelimelle.

Milloin JSON Dartiksi auttaa

Kun rakennat Flutter- tai Dart-sovelluksia, jotka käyttävät REST API:ja, tarvitset tyypitettyjä luokkia. Liitä esimerkkivastaus tähän ja generoi vastaavat luokat.

Miten työkalua käytetään

1

Liitä tai lataa JSON

Kopioi JSON ja liitä se vasempaan editoriin. Voit myös klikata Lataa ladataksesi tiedoston. Käytä Esimerkki-painiketta testidataan. Aseta luokan nimi ja asetukset konfiguraatiopaneelissa.

2

Tarkista generoidut luokat

Oikea paneeli näyttää generoidut Dart-luokat. Sisäkkäisistä objekteista tulee erillisiä luokkia. Taulukoista tulee List<T>. Jos JSON:ssasi on virheellinen syntaksi, korjaa se ensin käyttämällä JSON-muotoilutyökalua tai JSON-tarkistinta.

3

Kopioi tai lataa

Käytä Kopioi tai Lataa tiedostona saadaksesi koodin. Liitä se Flutter- tai Dart-projektiisi.

Esimerkkejä JSON Dartiksi

Tässä esimerkki Dart-luokkien generoinnista JSON-objektista.

Esimerkki: Tilaajatietue

JSON-syöte:

Syöte

Generoitu Dart-tulos:

Tulos

Milloin JSON Dartiksi auttaa

Useimmat kehittäjät tarvitsevat tätä REST API -integraatioissa. Liittäminen tähän antaa sinulle tyypitettyjä luokkia, joita voit käyttää heti json.decode-funktion kanssa.

Jos sinun täytyy ensin yhdistää kaksi JSON-tiedostoa, käytä erillistä JSON-yhdistämistyökalua.

Tietokantavienti, konfiguraatiotiedostot tai API-vastaukset ovat usein JSON-muodossa. Niiden ajaminen tämän kautta auttaa sinua generoimaan Dart-luokkia sovellukseesi.

Usein kysyttyä

JsonSerializable vai manuaalinen fromJson?

JsonSerializable generoi fromJson- ja toJson-metodit rakennusaikana. Se vähentää boilerplate-koodia. Vaatii json_serializable- ja build_runner-paketit projektiisi.

Entä null safety?

Ota Nullable-tyypit käyttöön valinnaisia JSON-kenttiä varten. Tämä lisää ? tyypeille, jotka voivat olla null.

Lähetetäänkö dataani minnekään?

Ei. Generointi tapahtuu kokonaan selaimessasi. Mitään dataa ei lähetetä palvelimelle.

Voinko käyttää tätä Flutterin kanssa?

Kyllä. Generoidut luokat toimivat Flutterin http-paketin ja dart:convert-kirjaston kanssa. Lisää json_serializable automaattista serialisointia varten.

Entä jos JSON-avaimeni käyttävät snake_case-muotoa?

Dart käyttää tyypillisesti camelCase-muotoa. Käytä @JsonKey(name: 'json_key') kentässä mukautetuille JSON-avainten nimille.

Liittyvät työkalut

Dart JSON:lle, katso dart:convert. JSON:lle, katso JSON-määrittely. Flutterille, katso Flutter.