<< Chapter < Page Chapter >> Page >

There are different ways to transform a JSON string into a JavaScript object, at least one of which has security problems. (The eval function is said to have security problems.)

The JSON.parse method

The recommended way to transform a JSON string into a JavaScript object is to call the JSON.parse method passing the JSON string as a parameter.

The JSON.parse method is apparently supported by most if not all modern browsers.

The JSON.parse method returns the JavaScript object that corresponds to the JSON string. I will use this method in the JavaScript scripts that I will explain later.

The JSON.stringify method

On the flip side of the coin, if you need to disassemble that JavaScript playscape object into a well-organized package of parts, you can do that by calling the JSON.stringify method passing the JavaScript object as a parameter. The JSON.stringify method returns the JSON string that represents the object, and amazingly does that even for very complex JavaScriptobjects.

However, the simple form of the JSON.stringify method that I will use in this module does not preserve methods that may reside in the JavaScript object.

With that as an introduction, let's look at some code.

Discussion and sample code

Json0130a.htm

I will explain the three scripts using fragments of code. The first script that I will explain is shown in its entirety in Listing 16 . If you open the file named Json0130a.htm in Firefox v26 or a later version, the text shown in Figure 1 should be displayed in the browser window.

Figure 1 . Screen output from Json0130a.htm.
Create a JavaScript object. Unsuccessful attempt to display object.[object Object] Display keys in object: name age methodDisplay values in object: Bill, 31, true Transform JavaScript object into a JSON string.Display JSON string {"name":"Bill","age":31} Unsuccessful attempt to access name and age.undefined, undefined Transform the JSON string into a JavaScript object.Display values in object: Bill, 31 Display keys in object: name age

(Note that I manually inserted some blank lines in Figure 1 to make it easier on the eyes.)

I will refer back to the contents of Figure 1 as I explain the code fragments.

Define a JavaScript function

Listing 1 shows the beginning of the script and also shows the definition of a simple JavaScript function that will be included as part of a JavaScript object. You will see shortly, however, that even thoughthis function is part of the object, it is discarded when the object is transformed into a JSON string using the simple version of the JSON.stringify method. (More complicated versions of the JSON.stringify method are available in some browsers.)

Listing 1 . Define a JavaScript function.
<body><script>//Define a function function aMethod(){return true;};

There is nothing new or exciting about the code in Listing 1 . This is "plain vanilla" JavaScript programming.

Create a JavaScript object

The code in Listing 2 creates a new JavaScript object containing two properties ( name and age) and a method using object literal notation .

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Introduction to xml. OpenStax CNX. Dec 02, 2014 Download for free at https://legacy.cnx.org/content/col11207/1.18
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Introduction to xml' conversation and receive update notifications?

Ask