Creare oggetti da JSON online con quicktype.io

Mattepuffo's logo
Creare oggetti da JSON online con quicktype.io

Creare oggetti da JSON online con quicktype.io

Supponiamo di avere un JSON che ci arriva da una web api.

E che dobbiamo creare un oggetto che lo rappresenta da usare nel nostro front-end.

Il servizio web quicktye.io ci viene in aiuto!

In sostanza, partendo dal JSON (o simili altre sorgenti) ci fa il parsing e ci crea il codice del linguaggio corrispondente.

Per ogni linguaggio ci sono diverse opzioni interessanti.

Quindi, partendo ad esempio da questo JSON (che dovete copiare nella parte sinistra della pagina):

{
    "books": [
        {
            "id": 218,
            "title": "100 anni di tattoos",
            "author_id": 124,
            "author": "david mccomb",
            "editor_id": 52,
            "editor": "24 ore cultura",
            "price": 0,
            "isbn": "978-88-6648-270-3",
            "note": "regalo benny e marty",
            "scaffale": 2,
            "data_aggiunta": "1900-01-01"
        },
        {
            "id": 87,
            "title": "2001 odissea nello spazio",
            "author_id": 53,
            "author": "arthur c. clarke",
            "editor_id": 2,
            "editor": "longanesi",
            "price": 0,
            "isbn": "",
            "note": "",
            "scaffale": 3,
            "data_aggiunta": "1900-01-01"
        }
    ]
}

Scegliamo il linguaggio sulla destra con le varie opzioni.

Ad esempio Python 3.7 con le prime due opzioni attivate:

from dataclasses import dataclass
from datetime import datetime
from typing import List


@dataclass
class Book:
    id: int
    title: str
    author_id: int
    author: str
    editor_id: int
    editor: str
    price: int
    isbn: str
    note: str
    scaffale: int
    data_aggiunta: datetime


@dataclass
class Welcome:
    books: List[Book]

Oppure Java con le seguenti opzioni:

  • List
  • Java 8
  • Lombok
// Welcome.java

package io.quicktype;

import java.util.List;

@lombok.Data
public class Welcome {
    private List<Book> books;
}

// Book.java

package io.quicktype;

import java.time.LocalDate;

@lombok.Data
public class Book {
    private long id;
    private String title;
    private long authorID;
    private String author;
    private long editorID;
    private String editor;
    private long price;
    private String isbn;
    private String note;
    private long scaffale;
    private LocalDate dataAggiunta;
}

Insomma, fateci un salto e sbizzarritevi!

Enjoy!


Condividi

Commentami!