Sto creando un'API che restituisce risultati come JSON. Esiste una best practice corrente per stabilire se dovremmo includere le chiavi nel risultato quando il valore è nullo? Per esempio:JSON dovrebbe includere valori nulli
{
"title":"Foo Bar",
"author":"Joe Blow",
"isbn":null
}
o
{
"title":"Foo Bar",
"author":"Joe Blow"
}
Dal momento che la seconda è più piccola che sto appoggiato verso questo stile, ma non sono sicuro se c'è uno stile preferito o no. Dal punto di vista del cliente, sembra che entrambi gli stili siano funzionalmente equivalenti. Qualsiasi pro o contro a ciascuno?
È impossibile rispondere correttamente. La risposta corretta dipende dai requisiti dell'applicazione. L'OP ha semplicemente selezionato la risposta più adatta alle sue esigenze. Se la tua applicazione deve essere in grado di distinguere tra sapere se "isbn" è nullo o se "isbn" potrebbe non essere stato inviato dal server per un altro motivo, devi includerlo. – Jacob
@Jacob Anche se non l'ho detto, la mia intenzione con questa domanda era che il JSON "completo" che rappresenta la risposta fosse restituito. Quando un cliente può assumere che non sembra esserci alcuna differenza funzionale tra i due approcci.Se l'API non restituisse in modo selettivo le chiavi/i valori allora sì, farebbe una grande differenza quale approccio è stato preso. – jjathman
il vantaggio della prima rappresentazione è che lo schema dell'oggetto è preservato, la presenza della proprietà non è ambigua in base ai dati. nel secondo formato questa informazione è persa. La specifica JSON in quanto tale non richiede alcun formato AFAIK –