基本的轉(zhuǎn)換為:JSON.parse與JSON.stringify斥难。
但是json數(shù)據(jù)中含function,則轉(zhuǎn)換后峡蟋,function會丟失似忧,如:
var?json={
????test:'test',
????login:?function(){
????????alert("login")
????}
}
?經(jīng)JSON.stringify后项钮,login丟失班眯。
varjson={
? ? test:'test'}
JSON.parse希停,結(jié)果一樣烁巫。
正確處理方法:
// json對象轉(zhuǎn)換成字符串
var s=JSON.stringify(json,function(key, val) {
? if(typeofval === 'function') {
? ? returnval + '';
? }
? return val;
});
// json字符串轉(zhuǎn)換成對象
JSON.parse(s,function(k,v){
? if(v.indexOf && v.indexOf('function') > -1){
? ? returneval("(function(){return "+v+" })()")
? }
? return v;
});