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!
web quicktype json
Commentami!