Say in my application, some users give us their last name, and others do not. In a REST API response, which body is preferred:
With a "null" value:
{"firstName": "Bob",
"lastName": null}
Or just a missing key:
{"firstName": "Bob"}
Software Engineering Stack Exchange is a question and answer site for professionals, academics, and students working within the systems development life cycle. It only takes a minute to sign up.
Sign up to join this communitySay in my application, some users give us their last name, and others do not. In a REST API response, which body is preferred:
With a "null" value:
{"firstName": "Bob",
"lastName": null}
Or just a missing key:
{"firstName": "Bob"}
If a property is optional or has an empty or null value, consider dropping the property from the JSON, unless there's a strong semantic reason for its existence.
{
"volume": 10,
// Even though the "balance" property's value is zero, it should be left in,
// since "0" signifies "even balance" (the value could be "-1" for left
// balance and "+1" for right balance.
"balance": 0,
// The "currentlyPlaying" property can be left out since it is null.
// "currentlyPlaying": null
}
Further Reading
Google Style Guide - Empty or Null Property Values
Should null values be included in JSON responses from a REST API?
currentlyPlaying
will be in some responses and not other, it's preferrable to have the client check if the key is there or not rather than check if it's null?
null
and undefined
have almost the same meaning in Javascript, and you can check for both using if (myProperty == null)
May 26, 2015 at 20:01