1 // in case we run on an implimentation that doesn't have "undefined";
4 function Cast (obj, class_constructor) {
6 if (eval(class_constructor + '["_isfieldmapper"]')) {
7 obj = eval("new " + class_constructor + "(obj)");
16 function JSON2js (json) {
18 json = String(json).replace( /\/\*--\s*S\w*?\s*?\s+\w+\s*--\*\//g, 'Cast(');
19 json = String(json).replace( /\/\*--\s*E\w*?\s*?\s+(\w+)\s*--\*\//g, ', "$1")');
24 eval( 'obj = ' + json );
26 debug("Error building JSON object with string " + json );
34 function js2JSON(arg) {
42 if (arg._isfieldmapper) {
43 return "/*--S acp*/" + js2JSON(arg.array) + "/*--E acp*/";
47 if (arg.constructor == Array) {
49 for (i = 0; i < arg.length; ++i) {
61 } else if (typeof arg.toString != 'undefined') {
69 o += js2JSON(i) + ':' + v;
75 if ( arg.class_name() ) {
76 obj_start = '/*--S ' + arg.class_name() + '--*/{';
77 obj_end = '}/*--E ' + arg.class_name() + '--*/';
80 o = obj_start + o + obj_end;
99 return '"' + String(arg).replace(/(["\\])/g, '\\$1') + '"';