如何用原生js实现JSON.stringify()方法

如何用原生js实现JSON.stringify()方法,就是将一个对象系列化为json格式字符串(需要考虑:对象的某个属性还有可能是个对象,以及含有对象function去除)。
求大神赐教啊!

JSON是ECMAScript 5规定的,所以就是原生的js。如果非要自己写的话,对象属性的嵌套可以用递归实现,用typeof判断是不是函数

 enumobj(obj)
{
for(var item in obj){
  if(typeof(pp[item])== "function")
   continue;
  enumobj(pp[item]);
 }
}
 enumobj(obj)
{
for(var item in obj){
  if(typeof(obj[item])== "function")
   continue;
  enumobj(obj[item]);
 }
}

找json2.js这个类库,存js的,不过如果浏览器支持使用的浏览器的JSON对象,不支持时(IE7-或者非xhtml模式的ie8)才使用原生js

json2.js下载

     var person = {name :'Saad', age : 26, department : {ID : 15, name : "R&D"} };  
    var stringFromPerson = JSON.stringify(person);  
    /* stringFromPerson 结果为 "{"name":"Saad","age":26,"department":{"ID":15,"name":"R&D"}}"   */  
    var personFromString = JSON.parse(stringFromPerson);  
    /* personFromString 的值与 person 对象相同  */