In real-world projects, you often encounter character formatting problems and write them down for easy viewing later. Use two functions:json.stringify () and json.parse ().
Using AJAX to request data back to the front end to return data, clearly the back end of the script is written JSON function after the JSON format, but the front-end to receive data, but sometimes object, sometimes a string, it is baffled. I don't know the exact reason.
During data transfer, JSON is passed in the form of text, which is a string, while the JS operation is a JSON object. Therefore, the conversion between the JSON object and the JSON string is the key
My solution is: first directly use the returned data, if not to achieve the desired effect, then use TypeOf to see what the return data format is or Console.log print a look at what the specific data returned, and then use the function as needed for two processing.
For example:
JSON string:
var str1 = ' {' name ': ' cxh ', ' sex ': ' Man '} ';
JSON object:
var str2 = {"Name": "Cxh", "Sex": "Man"};
One, JSON string converted to JSON object
To use the above str1, you must first convert to a JSON object using the following method:
Convert from JSON string to JSON object
var obj = eval (' (' + str + ') ');
Or
var obj = Str.parsejson (); Convert from JSON string to JSON object
Or
var obj = json.parse (str); Convert from JSON string to JSON object
Then, you can read this:
Alert (Obj.name);
Alert (Obj.sex);
Special Note: If obj is originally a JSON object, then using the eval () function after conversion (even if multiple conversions) is a JSON object, but there is a problem with the Parsejson () function (throwing a syntax exception).
Second, the JSON object can be converted to a JSON string using tojsonstring () or global Method Json.stringify ().
For example:
var last=obj.tojsonstring (); Convert a JSON object to a JSON character
Or
var last=json.stringify (obj); Convert a JSON object to a JSON character
alert (last);
Attention:
In the above several methods, in addition to the eval () function is JS own, the other several methods are from the Json.js package. The new version of JSON modifies the API to inject json.stringify () and Json.parse () two methods into the Javascript built-in object, which becomes the object.tojsonstring (), and the latter becomes the Strin G.parsejson (). If you are prompted not to find the tojsonstring () and Parsejson () methods, your JSON package version is too low.
Reference: http://www.jb51.net/article/43136.htm
JavaScript JSON strings and objects are converted to each other