美文网首页
含function的json对象与json字符串之间相互转换

含function的json对象与json字符串之间相互转换

作者: 对你好一辈子 | 来源:发表于2019-07-30 14:40 被阅读0次

    基本的转换为:JSON.parse与JSON.stringify。

    但是json数据中含function,则转换后,function会丢失,如:


    var json={

        test:'test',

        login: function(){

            alert("login")

        }

    }


     经JSON.stringify后,login丢失。

    varjson={

        test:'test'}

    JSON.parse,结果一样。

    正确处理方法:

    // json对象转换成字符串

    var s=JSON.stringify(json,function(key, val) {

      if(typeofval === 'function') {

        returnval + '';

      }

      return val;

    });

    // json字符串转换成对象

    JSON.parse(s,function(k,v){

      if(v.indexOf && v.indexOf('function') > -1){

        returneval("(function(){return "+v+" })()")

      }

      return v;

    });

    相关文章

      网友评论

          本文标题:含function的json对象与json字符串之间相互转换

          本文链接:https://www.haomeiwen.com/subject/zqgfdftx.html