It is good programming practice to return an empty array [] if the expected return type is an array. This makes sure that the receiver of the json can treat the value as an array immediately without having to first check for null. It’s the same way with empty objects using open-closed braces {}.
Strings, Booleans and integers do not have an ’empty’ form, so there it is okay to use null values.
This is also addressed in Joshua Blochs excellent book “Effective Java”. There he describes some very good generic programming practices (often applicable to other programming langages as well). Returning empty collections instead of nulls is one of them.
Here’s a link to that part of his book:
http://jtechies.blogspot.nl/2012/07/item-43-return-empty-arrays-or.html
Related Posts:
- “SyntaxError: Unexpected token < in JSON at position 0"
- SyntaxError: Unexpected token o in JSON at position 1
- SyntaxError: Unexpected token o in JSON at position 1
- What is JSONP, and why was it created?
- TypeError: Converting circular structure to JSON in nodejs
- Use a JSON array with objects with javascript
- Array of JSON Objects
- Chrome sendrequest error: TypeError: Converting circular structure to JSON
- Fetch: POST JSON data
- Uncaught SyntaxError: Unexpected token u in JSON at position 0
- Unexpected token u in JSON at position 0 (but only sometimes)
- How to read an external local JSON file in JavaScript?
- SyntaxError: Unexpected token o in JSON at position 1
- SyntaxError: Unexpected token o in JSON at position 1
- How to read an external local JSON file in JavaScript?
- What is the “right” JSON date format?
- Nested JSON objects – do I have to use arrays for everything?
- Uncaught TypeError: Cannot read property ‘length’ of undefined
- What is the “right” JSON date format?
- How to compare arrays in JavaScript?
- Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
- jQuery AJAX cross domain
- SyntaxError: Unexpected token o in JSON at position 1
- Uncaught TypeError: Cannot read property ‘props’ of null
- Loading local JSON file
- How to convert JSON object to JavaScript array?
- node.js TypeError: path must be absolute or specify root to res.sendFile [failed to parse JSON]
- Uncaught TypeError: data.push is not a function
- React Js: Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
- How to convert selected HTML to Json?
- How to get JSON from URL in JavaScript?
- How do you put an image file in a json object?
- push object into array
- JSON.parse() not working
- react router v^4.0.0 Uncaught TypeError: Cannot read property ‘location’ of undefined
- Refused to execute script, strict MIME type checking is enabled?
- TypeError: res.json is not a function
- SyntaxError: Unexpected token C in JSON at position 0 – Ionic 2 Http GET request
- SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
- Add new attribute (element) to JSON object using JavaScript
- SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
- How to display raw JSON data on a HTML page
- Convert array to JSON
- JSON.parse unexpected token s
- JSON.stringify (Javascript) and json.dumps (Python) not equivalent on a list?
- How to filter JSON Data in JavaScript or jQuery?
- How to add a button dynamically using jquery
- Using setTimeout on promise chain
- Complex JSON nesting of objects and arrays
- Uncaught SyntaxError: Unexpected token with JSON.parse
- How can JavaScript save to a local file?
- Write / add data in JSON file using Node.js
- How do I handle newlines in JSON?
- Finding the max value of an attribute in an array of objects
- Defining a HTML template to append using JQuery
- “NS_ERROR_DOM_BAD_URI: Access to restricted URI denied”
- What are the differences between JSON and JSONP?
- Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (
) - WP Rest API – How to get featured image
- Implementing Isomorphic JavaScript (React JS) in WordPress?
- How to use wp_localize_script in custom page template?
- Dynamically insert values in a WordPress SelectControl Options field
- var is undefined in a Gutenberg block
- 404 Error Contact Form 7 on WordPress
- Base64 & JSON Encode array in PHP, use as HTML data attribute, decode and parse in JavaScript …. with proper Escaping
- AngularJS with route and JSON API
- Pass data from wordpress to javascript in JSON
- How to include a JSON file on my page?
- Why WordPress not using JSON_UNESCAPED_UNICODE by default?
- how to use nimble-API and Display data?
- Remove escape characters from JSON string pulled from a database
- I would like to retrive JSON value and display it in wordpress page or widget
- Connecting a wordpress site to an AngularJS APP
- Gutenberg core/file add style support in js/ json
- addEventListener vs onclick
- window.onload vs document.onload
- JavaScript hide/show element
- Copy array by value
- React this.setState is not a function
- AngularJS- Login and Authentication in each route and controller
- Check if a variable is a string in JavaScript
- What does !1 and !0 mean in Javascript?
- How to use php code in javascript
- How do I get the current time only in JavaScript
- React’s setState method with prevState argument
- How to simulate a click with JavaScript?
- “google is not defined” when using Google Maps V3 in Firefox remotely
- how to call a onclick function in tag?
- typescript – cloning object
- Ajax success function
- Register and enqueue conditional (browser-specific) javascript files?
- Why is this gutenberg custom format button only available from the toolbar as a dropdown?
- Post title not saving
- WordPress getting css and script files from client machine rather than the server machine
- wp_handle_upload returns a critical error response or invalid form submission
- Get user in rest API endpoint
- Dynamically write in editor with Javascript
- Custom Media Meta fields to alter the generated image HTML that is inserted into a post for my animated GIF image player?
- Uncaught SyntaxError: missing ) after argument list [duplicate]
- add_attachment hook not firing on certain devices