JavaScript JSON strings and objects are converted to each other

Source: Internet
Author: User

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.