X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..530ef4b6c5b943cfa68b779d11cf7de29aa878bf:/docs/source/JSON.html diff --git a/docs/source/JSON.html b/docs/source/JSON.html index 704fbab1..7df2f932 100644 --- a/docs/source/JSON.html +++ b/docs/source/JSON.html @@ -1,11 +1,18 @@ - - - The source code - - - - -
/** + + + + The source code + + + + +
/*!
+ * Ext JS Library 3.2.1
+ * Copyright(c) 2006-2010 Ext JS, Inc.
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+
/** * @class Ext.util.JSON * Modified version of Douglas Crockford"s json.js that doesn"t * mess with the Object prototype @@ -32,35 +39,39 @@ Ext.util.JSON = new (function(){ return eval("(" + json + ')'); }, doEncode = function(o){ - if(typeof o == "undefined" || o === null){ + if(!Ext.isDefined(o) || o === null){ return "null"; }else if(Ext.isArray(o)){ return encodeArray(o); - }else if(Object.prototype.toString.apply(o) === '[object Date]'){ + }else if(Ext.isDate(o)){ return Ext.util.JSON.encodeDate(o); - }else if(typeof o == "string"){ + }else if(Ext.isString(o)){ return encodeString(o); }else if(typeof o == "number"){ + //don't use isNumber here, since finite checks happen inside isNumber return isFinite(o) ? String(o) : "null"; - }else if(typeof o == "boolean"){ + }else if(Ext.isBoolean(o)){ return String(o); }else { var a = ["{"], b, i, v; for (i in o) { - if(!useHasOwn || o.hasOwnProperty(i)) { - v = o[i]; - switch (typeof v) { - case "undefined": - case "function": - case "unknown": - break; - default: - if(b){ - a.push(','); + // don't encode DOM objects + if(!o.getElementsByTagName){ + if(!useHasOwn || o.hasOwnProperty(i)) { + v = o[i]; + switch (typeof v) { + case "undefined": + case "function": + case "unknown": + break; + default: + if(b){ + a.push(','); + } + a.push(doEncode(i), ":", + v === null ? "null" : doEncode(v)); + b = true; } - a.push(doEncode(i), ":", - v === null ? "null" : doEncode(v)); - b = true; } } } @@ -113,6 +124,18 @@ Ext.util.JSON = new (function(){ return a.join(""); }; +
/** + *

Encodes a Date. This returns the actual string which is inserted into the JSON string as the literal expression. + * The returned value includes enclosing double quotation marks.

+ *

The default return format is "yyyy-mm-ddThh:mm:ss".

+ *

To override this:


+Ext.util.JSON.encodeDate = function(d) {
+    return d.format('"Y-m-d"');
+};
+
+ * @param {Date} d The Date to encode + * @return {String} The string literal to use in a JSON string. + */ this.encodeDate = function(o){ return '"' + o.getFullYear() + "-" + pad(o.getMonth() + 1) + "-" + @@ -173,6 +196,6 @@ Ext.encode = Ext.util.JSON.encode; * @method decode */ Ext.decode = Ext.util.JSON.decode; -
- +
+ \ No newline at end of file