Estoy creando una API que arroje resultados como JSON. ¿Existe una mejor práctica actual para saber si debemos incluir claves en el resultado cuando el valor es nulo? Por ejemplo:En caso de que JSON incluya valores nulos
{
"title":"Foo Bar",
"author":"Joe Blow",
"isbn":null
}
o
{
"title":"Foo Bar",
"author":"Joe Blow"
}
Dado que la segunda es más pequeña que estoy inclinando hacia este estilo, pero no estoy seguro de si hay un estilo preferido o no. Desde la perspectiva del cliente, parece que ambos estilos serían funcionalmente equivalentes. ¿Alguna ventaja o desventaja para cada uno?
Es imposible responder esto correctamente. La respuesta correcta depende de los requisitos de la aplicación. El OP simplemente ha seleccionado la respuesta que se ajusta a sus necesidades. Si su aplicación necesita poder distinguir entre saber si el "isbn" es nulo y si el "isbn" puede no haberse enviado del servidor por otro motivo, debe incluirlo. – Jacob
@Jacob Aunque no lo dije, mi intención con esta pregunta era que se devolviera el JSON "completo" que representaba la respuesta. Cuando un cliente puede suponer que no parece haber diferencia funcional entre los dos enfoques.Si la API no devuelve selectivamente las claves/valores, entonces sí, sería una gran diferencia qué enfoque se tomó. – jjathman
el beneficio de la primera representación es que el esquema del objeto se conserva; la presencia de la propiedad no es ambigua en función de los datos. en el segundo formato esta información se pierde. La especificación JSON no requiere formato AFAIK –