var JSON = JSON || {};

JSON.stringify = function(o) {
  var retval = '';
  var t = typeof (o);
  if (t == 'string') {
    retval = '"' + o + '"';
  } else if (t == 'object') {
    if (o.constructor == Array) {
      var values = [];
      for (var i = 0; i < o.length; i++) {
        var v1 = o[i];
        var t1 = typeof (v1);
        if (t1 == 'string') v1 = '"' + v1 + '"';
        else if (t1 == 'object') v1 = JSON.stringify(v1); 
        values[values.length] = v1;
      }
      retval = '[' + String(values) + ']';
    } else {
      var values = [];
      for (var p in o) {
        var v1 = o[p];
        var t1 = typeof (v1);
        if (t1 == 'string') v1 = '"' + v1 + '"';
        else if (t1 == 'object') v1 = JSON.stringify(v1); 
        values[values.length] = '"' + p + '":' + v1;
      }
      retval = '{' + String(values) + '}';
    }
  }
  return retval;
}

JSON.parse = function(s) {
  if (s === '') s = '""';
  eval('var p=' + s + ';');
  return p;
}


