Table of contents
Preface
This module is one in a collection of modules designed for teaching ITSE 1356 Introduction to XML at Austin Community College in Austin, TX.
Viewing tip
I recommend that you open another copy of this module in a separate browser window and use the following links to easily find and view the Figuresand the Listings while you are reading about them.
Figures
- Figure 1 . Program output.
Listings
- Listing 1 . Beginning of the file named Asg.htm.
- Listing 2 . Call a function named objToStr.
- Listing 3 . Call a function named strToObj.
- Listing 4 . The HTML file named Asg.htm.
- Listing 5 . The JavaScript file named Asg.js.
Preview
Previous modules in this collection have shown you how to transform JavaScript objects into JSON strings, and how to transform JSON strings intoJavaScript objects. Those program placed all of the JavaScript code in an HTML file. Sometimes you will need to break some of the JavaScript code outinto a separate file. You will learn how to do that in this module.
Discussion and sample code
This module will show you how to create an HTML file ( Asg.htm ) and a separate JavaScript file ( Asg.js ) containing functions that are called by JavaScript code in the HTML file. The JavaScript file will contain two functions:
- A function named objToStr receives a JavaScript object as an incoming parameter and returns a JSON string that represents theobject.
- A function named strToObj receives a JSON string as an incoming parameter and returns a JavaScript object that represents the string.
A complete listing of the HTML file is provided in Listing 4 near the end of the lesson. A complete listing of the JavaScript file is provided in Listing 5 near the end of the lesson.
Program output
Figure 1 shows the text that appears in a browser window when the files named Asg.htm and Asg.js are stored in the same folder and the file named Asg.htm is opened in a browser. Keep this figure handy so that you can refer to it while viewingthe code.
Figure 1 . Program output. |
---|
Display keys in object: name age
Display values in object: Bill, 31Transform JavaScript object into a JSON string.
In objToStrDisplay JSON string {"name":"Bill","age":31}
Transform the JSON string into a JavaScript object.In strToObj
Display values in object: Bill, 31Display keys in object: name age |
Will explain in fragments
As is often the case, I will explain this program in fragments. The beginning of the file named Asg.htm is shown in Listing 1 .
Listing 1 . Beginning of the 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); |