Single vs. Double Quotes in jQuery.parseJSON
In JavaScript, the jQuery.parseJSON method converts a JSON string into a JavaScript object. When working with JSON strings, it's crucial to understand the difference between using single and double quotes.
The Issue
The code snippet below works successfully:
var obj1 = jQuery.parseJSON('{"orderedList": "true"}');
However, the following code fails to parse the JSON string:
var obj2 = jQuery.parseJSON("{'orderedList': 'true'}");
The Reason
The discrepancy arises from the different handling of single and double quotes in JSON syntax. According to the JSON standard, double quotes are considered the standard for string delimiters, while single quotes are not.
JSON Syntax
The JSON syntax specifies that:
A value can be a string in double quotes, or a number, or true or false or null, or an object or an array. These structures can be nested.
Therefore, JavaScript can correctly parse double quotes when using them in a JSON string. Single quotes are not considered valid string delimiters, causing jQuery.parseJSON to fail to convert JSON strings correctly.
Update
It’s worth noting that a similar issue has come up in jQuery community discussions regarding the use of single quotes in JSON responses. One way to solve this problem is to ensure that you always use double quotes in the JSON string.
The above is the detailed content of Why Do Double Quotes and Single Quotes Act Differently in jQuery.parseJSON?. For more information, please follow other related articles on the PHP Chinese website!