Moved some more of the build files around.
This commit is contained in:
parent
991390e242
commit
7d4bf97254
4 changed files with 242 additions and 0 deletions
117
build/js/json.js
Normal file
117
build/js/json.js
Normal file
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
json.js
|
||||
2006-04-28
|
||||
|
||||
This file adds these methods to JavaScript:
|
||||
|
||||
object.toJSONString()
|
||||
|
||||
This method produces a JSON text from an object. The
|
||||
object must not contain any cyclical references.
|
||||
|
||||
array.toJSONString()
|
||||
|
||||
This method produces a JSON text from an array. The
|
||||
array must not contain any cyclical references.
|
||||
|
||||
string.parseJSON()
|
||||
|
||||
This method parses a JSON text to produce an object or
|
||||
array. It will return false if there is an error.
|
||||
*/
|
||||
(function () {
|
||||
var m = {
|
||||
'\b': '\\b',
|
||||
'\t': '\\t',
|
||||
'\n': '\\n',
|
||||
'\f': '\\f',
|
||||
'\r': '\\r',
|
||||
'"' : '\\"',
|
||||
'\\': '\\\\'
|
||||
},
|
||||
s = {
|
||||
array: function (x) {
|
||||
var a = ['['], b, f, i, l = x.length, v;
|
||||
for (i = 0; i < l; i += 1) {
|
||||
v = x[i];
|
||||
f = s[typeof v];
|
||||
if (f) {
|
||||
v = f(v);
|
||||
if (typeof v == 'string') {
|
||||
if (b) {
|
||||
a[a.length] = ',';
|
||||
}
|
||||
a[a.length] = v;
|
||||
b = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
a[a.length] = ']';
|
||||
return a.join('');
|
||||
},
|
||||
'boolean': function (x) {
|
||||
return String(x);
|
||||
},
|
||||
'null': function (x) {
|
||||
return "null";
|
||||
},
|
||||
number: function (x) {
|
||||
return isFinite(x) ? String(x) : 'null';
|
||||
},
|
||||
object: function (x) {
|
||||
if (x) {
|
||||
if (x instanceof Array) {
|
||||
return s.array(x);
|
||||
}
|
||||
var a = ['{'], b, f, i, v;
|
||||
for (i in x) {
|
||||
v = x[i];
|
||||
f = s[typeof v];
|
||||
if (f) {
|
||||
v = f(v);
|
||||
if (typeof v == 'string') {
|
||||
if (b) {
|
||||
a[a.length] = ',';
|
||||
}
|
||||
a.push(s.string(i), ':', v);
|
||||
b = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
a[a.length] = '}';
|
||||
return a.join('');
|
||||
}
|
||||
return 'null';
|
||||
},
|
||||
string: function (x) {
|
||||
if (/["\\\x00-\x1f]/.test(x)) {
|
||||
x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
|
||||
var c = m[b];
|
||||
if (c) {
|
||||
return c;
|
||||
}
|
||||
c = b.charCodeAt();
|
||||
return '\\u00' +
|
||||
Math.floor(c / 16).toString(16) +
|
||||
(c % 16).toString(16);
|
||||
});
|
||||
}
|
||||
return '"' + x + '"';
|
||||
}
|
||||
};
|
||||
|
||||
Object.toJSON = function(obj) {
|
||||
return s.object(obj);
|
||||
};
|
||||
})();
|
||||
|
||||
String.prototype.parseJSON = function () {
|
||||
try {
|
||||
return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
|
||||
this.replace(/"(\\.|[^"\\])*"/g, ''))) &&
|
||||
eval('(' + this + ')');
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
27
build/js/xml.js
Normal file
27
build/js/xml.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
Object.toXML = function( obj, tag ) {
|
||||
if ( obj.constructor == Array ) {
|
||||
var ret = "";
|
||||
for ( var i = 0; i < obj.length; i++ )
|
||||
ret += Object.toXML( obj[i], tag );
|
||||
return ret;
|
||||
} else if ( obj.constructor == Object ) {
|
||||
var tag = tag || "tmp";
|
||||
var p = "", child = "";
|
||||
|
||||
for ( var i in obj )
|
||||
if ( obj[i].constructor == Array || /</.test(obj[i] + "") || Object.toXML.force[i] )
|
||||
child += Object.toXML( obj[i], i );
|
||||
else
|
||||
p += " " + i + "='" + (obj[i] + "").replace(/'/g, "'") + "'";
|
||||
|
||||
return "<" + tag + p + ( child ? ">\n" + child + "</" + tag + ">\n" : "/>\n" );
|
||||
} else if ( obj.constructor == String ) {
|
||||
//obj = obj.replace(/</g,"<").replace(/>/g,">");
|
||||
//return "<" + tag + "><![CDATA[" + obj + "]]></" + tag + ">";
|
||||
return "<" + tag + ">" + obj + "</" + tag + ">\n";
|
||||
}
|
||||
|
||||
return "";
|
||||
};
|
||||
|
||||
Object.toXML.force = {};
|
Loading…
Add table
Add a link
Reference in a new issue