| 
 
 <!--
 Example File From "JavaScript and DHTML Cookbook"
 Published by O'Reilly & Associates
 Copyright 2003 Danny Goodman
 -->
 
 /* objectsArraysStrings.js */
 /*
 Example File From "JavaScript and DHTML Cookbook"
 Published by O'Reilly & Associates
 Copyright 2003 Danny Goodman
 */
 
 function object2String(obj) {
 var val, output = "";
 if (obj) {
 output += "{";
 for (var i in obj) {
 val = obj[i];
 switch (typeof val) {
 case ("object"):
 if (val[0]) {
 output += i + ":" + array2String(val) + ",";
 } else {
 output += i + ":" + object2String(val) + ",";
 }
 break;
 case ("string"):
 output += i + ":'" + escape(val) + "',";
 break;
 default:
 output += i + ":" + val + ",";
 }
 }
 output = output.substring(0, output.length-1) + "}";
 }
 return output;
 }
 
 function array2String(array) {
 var output = "";
 if (array) {
 output += "[";
 for (var i in array) {
 val = array[i];
 switch (typeof val) {
 case ("object"):
 if (val[0]) {
 output += array2String(val) + ",";
 } else {
 output += object2String(val) + ",";
 }
 break;
 case ("string"):
 output += "'" + escape(val) + "',";
 break;
 default:
 output += val + ",";
 }
 }
 output = output.substring(0, output.length-1) + "]";
 }
 return output;
 }
 
 
 function string2Object(string) {
 eval("var result = " + string);
 return result;
 }
 
 function string2Array(string) {
 eval("var result = " + string);
 return result;
 }
 
 
 
 
 
 
 |