如何用原生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
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 对象相同 */