JSFiddle - React, Tailwind, and code Playground
HTML
<html>
<body>
<script>
var d = '{"a":"BEG[ ]END"}';
var jso = jQuery.parseJSON( d );
</script>
</body>
</html>
JavaScript
$.parseJSON = function (data) {
if (typeof data !== "string" || !data) {
return null;
}
if ($.browser.msie){ // workaround
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim(data);
}
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if (/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
.replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
// Try to use the native JSON parser first
return window.JSON && window.JSON.parse ?
window.JSON.parse(data) :
(new Function("return " + data))();
} else {
jQuery.error("Invalid JSON: " + data);
}
};