Converti i dati JSON nello schema GraphQL — Numio
Genera tipi di oggetto GraphQL SDL dall'esempio JSON. La radice diventa AutogeneratedMainType, ogni oggetto annidato o array di oggetti diventa un tipo con nome e tutti gli elementi dell'array vengono uniti in un unico tipo.
Tipi di bozza per un wrapper GraphQL attorno a un endpoint REST esistente da una delle sue risposte.
JSON
GraphQL
Quando usarlo
- Tipi di bozza per un wrapper GraphQL attorno a un endpoint REST esistente da una delle sue risposte.
- Ottenere uno schema iniziale per un server fittizio o un prototipo basato sullo schema da dati di esempio.
Come si usa
- Incolla un oggetto JSON o un array di oggetti uniti in un tipo root nell'editor di sinistra oppure utilizza il pulsante carica file per aprire un file UTF-8.
- Controlla i tipi generati: i nomi provengono dalle chiavi (i post diventano Post) e gli scalari vengono mappati su String, Int, Float o Boolean.
- Copia SDL, quindi aggiungi! per i campi obbligatori, modifica i campi ID in ID e rinomina AutogeneratedMainType.
Oggetto JSON
{
"id": "u_1",
"name": "Ada",
"age": 36,
"score": 9.5,
"nickname": null,
"tags": ["math"],
"address": { "city": "London" },
"posts": [{ "id": 7, "title": "Notes" }]
}Schema GraphQL (SDL)
type AutogeneratedMainType {
id: String
name: String
age: Int
score: Float
nickname: String
tags: [String]
address: Address
posts: [Posts]
}
type Address {
city: String
}
type Posts {
id: Int
title: String
}Dettagli e limiti
I campi vengono uniti in tutti gli elementi dell'array. gli array nulli e vuoti diventano String e [String]; Int mescolato con Float diventa Float e gli altri conflitti ricadono su String.
I nomi dei tipi provengono dalle chiavi (post diventa Post). Se la stessa chiave contiene oggetti di forma diversa, quello successivo prende il nome dal suo genitore (ad esempio AB) invece di sovrascriverlo.
No! (non null), ID, vengono generati il tipo di query o i tipi di input. I numeri interi esterni all'intervallo di 32 bit vengono digitati Float, poiché GraphQL Int è a 32 bit.
Viene eseguito nel tuo browser e il risultato è formattato con Prettier; JSON non valido mostra l'errore di analisi.
FAQ
Posso convertire un array JSON alla radice?
Sì, se contiene oggetti: tutti gli elementi vengono uniti in AutogeneratedMainType, quindi i campi che compaiono solo in alcuni elementi vengono inclusi. Un array radice di valori semplici viene rifiutato perché non contiene campi.
Perché il mio campo ID è String invece di ID?
I tipi provengono solo dal valore JSON: una stringa id diventa String e un numero diventa Int. Cambialo in ID: a mano.
Come vengono digitati i valori nulli?
Come String, poiché un valore null non contiene alcun tipo. Sostituiscilo con un valore campione reale se il campo è un numero o un oggetto.