js对象转json数组的简单实现案例

复制代码 代码如下:

  function obj2Str(obj){

  switch(typeof(obj)){

  case 'object':

  var ret = [];

  if (obj instanceof Array){

  for (var i = 0, len = obj.length; i < len; i++){

  ret.push(obj2Str(obj[i]));

  }

  return '[' + ret.join(',') + ']';

  }

  else if (obj instanceof RegExp){

  return obj.toString();

  }

  else{

  for (var a in obj){

  ret.push(a + ':' + obj2Str(obj[a]));

  }

  return '{' + ret.join(',') + '}';

  }

  case 'function':

  return 'function() {}';

  case 'number':

  return obj.toString();

  case 'string':

  return "\"" + obj.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function(a) {return ("\n"==a)?"\\n":("\r"==a)?"\\r":("\t"==a)?"\\t":"";}) + "\"";

  case 'boolean':

  return obj.toString();

  default:

  return obj.toString();

  }

  }