【问题标题】:JSON.parse using reviver functionJSON.parse 使用 reviver 函数
【发布时间】:2014-06-24 03:54:22
【问题描述】:

如何使用 JSON.parse reviver 方法来编辑某个值。 我只想编辑声明为姓氏的每个键,然后返回新值。

var myObj = new Object();
myObj.firstname = "mike";
myObj.lastname = "smith";

var jsonString = JSON.stringify(myObj);
var jsonObj = JSON.parse(jsonString, dataReviver);

function dataReviver(key, value)
{
    if(key == 'lastname')
    {
        var newLastname = "test";
        return newLastname;
    }
}

【问题讨论】:

    标签: javascript


    【解决方案1】:

    检查特殊情况后,您只需默认传回未修改的值:

    var myObj = new Object();
    myObj.firstname = "mike";
    myObj.lastname = "smith";
    
    var jsonString = JSON.stringify(myObj);
    var jsonObj = JSON.parse(jsonString, dataReviver);
    
    function dataReviver(key, value)
    { 
        if(key == 'lastname')
        {
            var newLastname = "test";
            return newLastname;
        }
    
      return value;  // < here is where un-modified key/value pass though
    
    }
    
    JSON.stringify(jsonObj )// "{"firstname":"mike","lastname":"test"}" 
    

    【讨论】:

      猜你喜欢
      • 2018-04-02
      • 2012-12-27
      • 2017-05-03
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 2015-04-22
      • 1970-01-01
      相关资源
      最近更新 更多