JSON序列化与解析原生JS方法且IE6和chrome测试通过

复制代码 代码如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <meta name="author" content="Nancle from CAU CS 101" />

  <title>JSON序列化与解析(原生JS + Object对象拓展方法)【IE6和chrome测试通过】</title>

  </head>

  <script type="text/javascript">

  var ele = {

  x:11,

  y:'string',

  z:{x:11, y:'string'}

  }

  toJSON = function(obj){

  var arr = [];

  for(var key in obj){

  var value = obj[key];

  if(value == null){

  value = '';

  }else{

  value = (typeof value === 'string' | typeof value === 'number')

  ? ('"' + value + '"') : toJSON(value);

  }

  var str = '"' + key + '":' + value;

  arr.push(str);

  }

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

  }

  var str = toJSON(ele);

  alert('装换成的字符串是: ' + str );

  var ele2 = eval('(' + str + ')');

  alert('解析字符串得到js对象: x=' + ele2.x + ',y=' + ele2.y + ',z=' + ele2.z);

  </script>

  <body>

  </body>

  </html>