JSON

JSONObject.toString

字号+ 作者:H5之家 来源:H5之家 2016-08-21 10:01 我要评论( )

bject 类型的对象虽然有 toString 方法,但结果却是 bject bject 让人没法理解的字符。比如简单的对象:{name:张三,age:20,canfly:true,sayHello:function(){ale

Object 类型的对象虽然有 toString 方法,但结果却是 [Object Object] 让人没法理解的字符。比如简单的对象:{name:"张三",age:20,canfly:true,sayHello:function(){alert("hello!")},hasPower:["fly","selfFix","autobuilding"]},此对象的数据格式几乎涵盖了所有常见的数据格式(字符、数字、布尔、方法、数组),如果执行该对象的toString方法能还原描述此对象的原始字符串,将能更直观地展示对象。

ok,let's go

Object.prototype.toString = function(){
 var str = "";
 for (var key in this){
  if(key=="toJSONString")continue;
  if(!this[key] || this[key]==true){
   str += ","+key+":"+this[key];
  }else if(typeof this[key]=="number"){
   str += ","+key+":"+this[key]+"";
  }else if(typeof this[key] == "string"){
   str += ","+key+":\""+this[key]+"\"";
  }else if(typeof this[key]=="function"){
   str += ","+key+":"+this[key].toString();
  }else if(typeof this[key] == "object"){  
   if(this[key].constructor == Array){
    str += ","+key+":"+this[key].toJSONString();
   }else if(this[key].constructor == Object){
    str += ","+key+":"+this[key].toString();
   }
  }
  
 }
 return "{"+str.substring(1)+"}";
}

Array.prototype.toJSONString = function(){
 var str = "";
 for (var key=0; key<this.length; key++){
  if(typeof this[key]=="number"){
   str += ","+this[key];
  }else if(typeof this[key] == "string"){
   str += ",\""+this[key]+"\"";
  }else if(!this[key] || this[key]==true){
   str += ","+this[key];
  }else if(typeof this[key]=="function"){
   str += ","+this[key].toString();
  }else if(typeof this[key] == "object"){  
   if(this[key].constructor == Array){
    str += ","+ this[key].toJSONString();
   }else if(this[key].constructor == Object){
    str += ","+this[key].toString();
   }
  }
  
 }
 return "["+str.substring(1)+"]";
}

方法很简单,处理的数据格式也仅限于上面提到的几种JavaScript内置数据格式。上面的代码有两段,但不能分拆,互相有引用。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • javascript 字符串操作常用函数总结

    javascript 字符串操作常用函数总结

    2016-08-07 18:04

  • 正则表达式优化JSON字符串的技巧,

    正则表达式优化JSON字符串的技巧,

    2016-07-31 12:01

  • 使用jquery实现json对象转换成字符串,和将字符串转换成json对象

    使用jquery实现json对象转换成字符串,和将字符串转换成json对象

    2016-06-05 18:00

  • JS JSON to OBJECT

    JS JSON to OBJECT

    2016-05-04 15:00

网友点评