Rev 1422 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*Copyright (c) 2004-2006, The Dojo FoundationAll Rights Reserved.Licensed under the Academic Free License version 2.1 or above OR themodified BSD license. For more information on Dojo licensing, see:http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.json");dojo.require("dojo.lang.func");dojo.require("dojo.string.extras");dojo.require("dojo.AdapterRegistry");dojo.json = {jsonRegistry:new dojo.AdapterRegistry(), register:function (name, check, wrap, override) {dojo.json.jsonRegistry.register(name, check, wrap, override);}, evalJson:function (json) {try {return eval("(" + json + ")");}catch (e) {dojo.debug(e);return json;}}, serialize:function (o) {var objtype = typeof (o);if (objtype == "undefined") {return "undefined";} else {if ((objtype == "number") || (objtype == "boolean")) {return o + "";} else {if (o === null) {return "null";}}}if (objtype == "string") {return dojo.string.escapeString(o);}var me = arguments.callee;var newObj;if (typeof (o.__json__) == "function") {newObj = o.__json__();if (o !== newObj) {return me(newObj);}}if (typeof (o.json) == "function") {newObj = o.json();if (o !== newObj) {return me(newObj);}}if (objtype != "function" && typeof (o.length) == "number") {var res = [];for (var i = 0; i < o.length; i++) {var val = me(o[i]);if (typeof (val) != "string") {val = "undefined";}res.push(val);}return "[" + res.join(",") + "]";}try {window.o = o;newObj = dojo.json.jsonRegistry.match(o);return me(newObj);}catch (e) {}if (objtype == "function") {return null;}res = [];for (var k in o) {var useKey;if (typeof (k) == "number") {useKey = "\"" + k + "\"";} else {if (typeof (k) == "string") {useKey = dojo.string.escapeString(k);} else {continue;}}val = me(o[k]);if (typeof (val) != "string") {continue;}res.push(useKey + ":" + val);}return "{" + res.join(",") + "}";}};