<< Chapter < Page Chapter >> Page >

The only new code in Listing 1 is the fifth line, which declares that afile named Asg.js contains JavaScript code that may be called by JavaScript code in the HTML file. Otherwise, the code in Listing 1 simply creates a JavaScript object and displays its contents. You have seen codelike that before.

Call a function named objToStr

The second statement in Listing 2 is new to this module. This statement calls a JavaScript function named objToStr passing the JavaScript object as a parameter.

Listing 2 . Call a function named objToStr.
document.write("<br/>Transform JavaScript object " + "into a JSON string.");var jsonstring = objToStr(obj01);

When the JavaScript interpreter encounters this statement, it searches the current file ( Asg.htm ) for a function having that name. When it doesn't find the function in the current file, itsearches the file named Asg.js , which was declared in Listing 1 . It finds the function in that file (see Listing 5 ) and executes it.

The function named objToStr

The code in the function named objToStr is straightforward. You have seen code like this before. After announcing that it has been called,the objToStr function calls the JSON.stringify method to create and return a JSON string based on the contents of theJavaScript object.

Call a function named strToObj

Returning to the code in the file named Asg.htm , the third statement in Listing 3 calls a function named strToObj passing the JSON string as a parameter.

Listing 3 . Call a function named strToObj.
document.write( "<br/>Display JSON string " + jsonstring );document.write("<br/>Transform the JSON string " + "into a JavaScript object.");var obj02 = strToObj(jsonstring);

The function named strToObj is also shown in Listing 5 . The code in this function is also straightforward and you have seen codelike this before. The strToObj function calls the JSON.parse method to create and return a JavaScript object based on the contents of the JSON string.

Following that, the code in the file named Asg.htm simply displays the contents of the JavaScript object. You can view that code in Listing 4 .

Run the program

I encourage you to copy the code from Listing 4 and Listing 5 and execute it by opening the HTML file in your browser. Experiment with the code,making changes, and observing the results of your changes. Make certain that you can explain why your changes behave as they do.

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Json0140-External JavaScript Functions
  • File: Json0140.htm
  • Published: 11/02/14
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

Complete program listings

Complete listings of the HTML file and the JavaScript file are shown below.

Listing 4 . The HTML file named Asg.htm.
<!DOCTYPE html><html><head><title>ITSE 1356</title><script type='text/javascript' src='Asg.js'></script></head><body><script>var obj01 = {name:"Bill",age:31}; document.write("<br/>Display keys in object: "); for (var key in obj01) {if (obj01.hasOwnProperty(key)) { document.write(key + " ");}//end if }//end for loopdocument.write("<br/>Display values in object: "); document.write(obj01.name + ", " + obj01.age);document.write("<br/>Transform JavaScript object " + "into a JSON string.");var jsonstring = objToStr(obj01);document.write( "<br/>Display JSON string " + jsonstring );document.write("<br/>Transform the JSON string " + "into a JavaScript object.");var obj02 = strToObj(jsonstring);document.write("<br/>Display values in object: "); document.write(obj02.name + ", " + obj02.age);document.write("<br/>Display keys in object: ");; for (var key in obj02) {if (obj02.hasOwnProperty(key)) { document.write(key + " ");}//end if }//end for loop</script></body></html>
Listing 5 . The JavaScript file named Asg.js.
function objToStr(obj){ document.write("<br/><br/>In objToStr<br/>"); var str = JSON.stringify(obj);return str; }function strToObj(str){ document.write("<br/><br/>In strToObj<br/>"); var obj = JSON.parse(str);return obj; }

-end-

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