{"id":12633,"date":"2017-07-13T11:52:59","date_gmt":"2017-07-13T09:52:59","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12633"},"modified":"2017-07-13T11:52:59","modified_gmt":"2017-07-13T09:52:59","slug":"generazione-automatica-di-classi-java-da-json-con-jsonschema2pojo","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/generazione-automatica-di-classi-java-da-json-con-jsonschema2pojo\/","title":{"rendered":"Generazione automatica di classi Java da JSON con jsonschema2pojo"},"content":{"rendered":"<p>Capita spesso di dover svolgere un lavoro molto noioso che \u00e8 quello di <strong>creare delle classi Java<\/strong> per incamerare dati provenienti da un determinato JSON. Tipico esempio, la scrittura di <strong>classi che rappresentano gli oggetti JSON<\/strong> scambiati durante un&#8217;interazione REST.<\/p>\n<p>Il servizio di cui parliamo oggi permette di innescare la creazione automatica di classi Java (eventualmente complete di <em>getters<\/em> e <em>setters<\/em>, <em>toString<\/em> e tanto altro) a patto che si sia in grado di fornire uno schema JSON o dei veri e propri dati in questo formato.<\/p>\n<p>Collegandoci all&#8217;indirizzo\u00a0<a href=\"http:\/\/www.jsonschema2pojo.org\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.jsonschema2pojo.org\/<\/a> veniamo accolti dalla seguente interfaccia:<\/p>\n<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson_01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12634 size-full\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson_01.jpg\" alt=\"\" width=\"817\" height=\"600\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson_01.jpg 817w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson_01-300x220.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson_01-768x564.jpg 768w\" sizes=\"auto, (max-width: 817px) 100vw, 817px\" \/><\/a><\/p>\n<p>Come vediamo scegliamo di fornire dati JSON anzich\u00e8 un JSON Schema (radio button sulla destra), decidiamo se desideriamo integrare\u00a0annotazioni per GSON o Jackson (nel nostro caso scegliamo <em>None<\/em> ossia nessuna) e lasciamo le altre opzioni come sono anche se potremmo modificarle per personalizzare meglio il risultato.<\/p>\n<p>Il prodotto \u00e8 questo:<\/p>\n<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson.jpg\"><\/a><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12635 size-full\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson.jpg\" alt=\"\" width=\"926\" height=\"601\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson.jpg 926w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson-300x195.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2016\/12\/jsonschematopojo_json_java_gson_jackson-768x498.jpg 768w\" sizes=\"auto, (max-width: 926px) 100vw, 926px\" \/><\/a><\/p>\n<p>Una classe Java perfettamente corrispondente al JSON fornito che pu\u00f2 essere scaricato o copiato e incollato nei nostri progetti.<\/p>\n<p>Che ne pensate? Interessante?<\/p>\n<p>Commentate e fateci sapere!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Capita spesso di dover svolgere un lavoro molto noioso che \u00e8 quello di creare delle classi Java&#8230;<\/p>\n","protected":false},"author":561,"featured_media":13159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[481],"tags":[1812,1813,1526,1531,239],"class_list":["post-12633","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-risorse-utili","tag-gson","tag-jackson","tag-java","tag-json","tag-rest"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12633"}],"version-history":[{"count":3,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12633\/revisions"}],"predecessor-version":[{"id":13160,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12633\/revisions\/13160"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/13159"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}