JSON-syöte

Java-tulos

Mikä on JSON Java-muunnin?

Java käyttää POJO-luokkia (Plain Old Java Objects) strukturoidulle datalle. Kun käytät JSON:ia Jacksonin tai Gson:n kanssa, tarvitset vastaavat Java-luokat oikeilla kenttänimillä ja tyypeillä. JSON-määrittely määrittelee objektit, taulukot, merkkijonot, numerot ja totuusarvot — mutta Java vaatii eksplisiittiset luokkamäärittelyt jokaiselle sisäkkäiselle objektille.

Tämä työkalu generoi Java POJO:t JSON:stasi. Aseta pakettinimi ja luokan nimi asetuspaneelissa. Ota Lombok käyttöön saadaksesi @Data- tai @Getter/@Setter-annotaatiot boilerplaten vähentämiseksi. Ota Nullable-tyypit käyttöön saadaksesi Optional<T> tai @Nullable valinnaisille kentille. Tulos toimii ObjectMapper.readValue():n (Jackson) tai Gson.fromJson():n kanssa.

Muunnos tapahtuu kokonaan selaimessasi. JSON:iasi ei koskaan lähetetä palvelimelle. Voit varmistaa tämän avaamalla selaimen Verkko-välilehden työkalua käyttäessäsi.

Milloin JSON Java-muunnin auttaa

Kun rakennat Spring Boot-, Android- tai muuta Java-sovellusta joka käyttää REST-API:ita, tarvitset tyypitettyjä POJO:ja. Käytä Jacksonia tai Gson:ia jäsentämiseen. Liitä esimerkkivastaus tähän generoidaksesi 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 .json- tai .txt-tiedoston tietokoneeltasi. Käytä Esimerkki-painiketta esimerkkidatan lataamiseen. Aseta asetuspaneelissa pakettinimi (esim. com.example.model) ja luokan nimi (esim. User). Ota Lombok käyttöön saadaksesi @Data- tai @Getter/@Setter-annotaatiot.

2

Tarkista generoidut luokat

Oikea paneeli näyttää generoidut Java-luokat. Sisäkkäisistä objekteista tulee erillisiä luokkia. Taulukoista tulee List<T>. Lisää @JsonProperty (Jackson) tai @SerializedName (Gson) jos JSON-avaimet eroavat Java-kenttänimistä. Jos JSON:issa on syntaksivirheitä, korjaa ne ensin käyttäen JSON-muotoilutyökalua tai JSON-tarkistinta.

3

Kopioi tai lataa

Käytä Kopioi siirtääksesi tuloksen leikepöydälle tai Lataa tiedostona tallentaaksesi sen .java-tiedostona. Liitä projektiin. Sinun täytyy ehkä lisätä importteja tai säätää pakettinimiä projektirakenteesta riippuen.

JSON Java-muunnoksen esimerkkejä

Tässä esimerkki Java POJO -luokkien generoinnista JSON-objektista.

Esimerkki: Tilaajatietue

JSON-syöte:

Syöte

Generoitu Java-tulos:

Tulos

Milloin JSON Java-muunnin auttaa

Useimmat kehittäjät tarvitsevat tätä integroidessaan REST-API:ita. Lähetät pyynnön Postmanin, Springin RestTemplate:n tai HttpClient:n kautta, ja vastaus palautuu JSON:ina. Liittämällä sen tähän saat POJO:t joita voit käyttää heti Jacksonin tai Gson:in kanssa. Yksittäisten arvojen poimimiseen suurista vastauksista jq toimii hyvin komentorivillä.

Mikropalvelut vaihtavat usein JSON:ia. Kun alipalvelu muuttaa API:ansa, tarvitset päivitetyt DTO:t. Tämä työkalu antaa sinun generoida luokat nopeasti uudelleen. Jos sinun täytyy ensin yhdistää kaksi JSON-tiedostoa, on erillinen JSON-yhdistäminen-työkalu siihen.

Tietokantaviennit, asetustiedostot tai tapahtumavirrat ovat usein JSON:ia. Ajamalla ne tämän kautta autat ymmärtämään rakenteen ja generoimaan Java-luokat tuontiskriptejä, viestinkuluttajia tai pysyvyyskerroksia varten.

Usein kysyttyä

Lombok vai manuaaliset getterit/setterit?

Lombok generoi getterit, setterit, konstruktorit ja equals/hashCode:n käännösaikana. Se vähentää merkittävästi boilerplatea. Vaatii Lombokin classpathilla ja annotaatiokäsittelyn käytössä.

Entä Jackson vs Gson?

Molemmat toimivat generoiduilla POJO:illa. Jackson käyttää @JsonProperty:a mukautetuille avaimille; Gson käyttää @SerializedName:a. Generaattori tuottaa tyypillisesti Jackson-yhteensopivan tuloksen. Lisää Gson-annotaatiot tarvittaessa manuaalisesti.

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

Ei. Generointi tapahtuu kokonaan selaimessasi JavaScriptillä. Dataa ei lähetetä palvelimelle.

Nullable-tyypit?

Ota Nullable-tyypit käyttöön saadaksesi Optional<T> tai @Nullable valinnaisille JSON-kentille. Tästä on hyötyä kun kenttä voi olla null tai puuttua API-vastauksesta.

Record-luokat?

Java 16+ recordit ovat muuttumattomia ja tiiviitä. Tämä työkalu voi generoida tavallisia luokkia. Recordeille saatat joutua muokkaamaan tulosta tai käyttämään eri generaattoria.

Liittyvät työkalut

Java JSON -kirjastoista katso Jackson ja Gson. JSON:sta katso JSON-määrittely ja RFC 8259. Yleiskatsaus: MDN JSON. API-testaukseen: Postman.