In JavaScript, you assign value null to an object property to indicate that the property is defined but with no value. But using null outside the JavaScript domain becomes tricky. For example, in URL query parameters:


after parsing the query:

  "foo": "null",
  "bar": "bar"

Should the value of foo be parsed from "null" string into null object? Unless you know the context.

Using null in both schema design and URL query gave me a few headaches. So, I have decided to use string and throw away null. As string is the most basic data type across many applications. For simplier design and greater compatibility and portability, use empty string instead of null.

Therefore, the value of query parameter foo should be:

?foo=null&bar=bar // "null"
?foo=&bar=bar     // ""


"null" !== ""