将json对象转换为字符串的方法

  

复制代码 代码如下:

  /*

  将json对象转换为字符串

  使用方法:

  var json = {id=3,name="abc"};

  var str = tools.j2s(json);

  */

  tools.j2s = function(O) {

  var S = [];

  var J = "";

  if (Object.prototype.toString.apply(O) === '[object Array]') {

  for ( var i = 0; i < O.length; i++) {

  S.push(this.j2s(O[i]));

  }

  J = '[' + S.join(',') + ']';

  } else if (Object.prototype.toString.apply(O) === '[object Date]') {

  J = "new Date(" + O.getTime() + ")";

  } else if (Object.prototype.toString.apply(O) === '[object RegExp]' || Object.prototype.toString.apply(O) === '[object Function]') {

  J = O.toString();

  } else if (Object.prototype.toString.apply(O) === '[object Object]') {

  for ( var i in O) {

  var tempObj = "";

  if(typeof (O[i]) == 'string') {

  tempObj = '"' + O[i] + '"';

  } else if(typeof (O[i]) === 'object') {

  tempObj = this.j2s(O[i]);

  } else {

  tempObj = O[i];

  }

  S.push('"' + i + '":' + tempObj);

  }

  J = '{' + S.join(',') + '}';

  } else if (Object.prototype.toString.apply(O) === '[object String]') {

  J = '"' + O + '"';

  } else {

  J = O;

  }

  return J;

  };

  //json字符串转换为json对象

  tools.s2j = function(jsonString) {

  if(jsonString == null || jsonString == "" ) {

  jsonString = "{}";

  }

  return eval('('+jsonString+')');

  };

  //JSON字符串到Object

  tools.json2Obj = function(_json) {

  if (_json == '') {

  //alert("函数初始化失败!");

  return "";

  }

  return eval("({root:"+_json+"})");

  };