Source: parseJSON.js

/**
 * If <var>value</var> is an object, return <var>value</var>,
 * otherwise parse <var>value</var> using JSON.parse().
 * Return null if an exception occurs.
 *
 * @since 1.0.0-rc.23
 * @namespace
 * @memberof just
 * @param {*} value - Some value.
 *
 * @example
 * just.parseJSON('{"a": 1}'); // > {a: 1}
 *
 * @example
 * just.parseJSON('[]'); // > []
 *
 * @example
 * just.parseJSON(''); // > null
 *
 * @example
 * just.parseJSON({}); // > null
 *
 * @example
 * just.parseJSON(1); // > 1
 *
 * @return {*} The given value (if it's an object), the parsed value or null.
 */
function parseJSON (value) {

    var parsedValue;

    if (typeof value === 'object') { return value; }

    try { parsedValue = JSON.parse(value); }
    catch (exception) { parsedValue = null; }

    return parsedValue;

}

module.exports = parseJSON;