JSON Java-muunnin
Muunna JSON Java POJO -luokiksi Java-kehitykseen
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
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.
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.
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:
Generoitu Java-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.