Javascript 使用reviver函数解析JSON.parse

Javascript 使用reviver函数解析JSON.parse,javascript,Javascript,如何使用JSON.parse reviver方法编辑某个值。 我只想编辑每个声明为lastname的键,然后返回新值 var myObj = new Object(); myObj.firstname = "mike"; myObj.lastname = "smith"; var jsonString = JSON.stringify(myObj); var jsonObj = JSON.parse(jsonString, dataReviver); function dataReviver

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

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;
    }
}

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

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"}" 
var myObj=新对象();
myObj.firstname=“迈克”;
myObj.lastname=“史密斯”;
var jsonString=JSON.stringify(myObj);
var jsonObj=JSON.parse(jsonString,dataReviver);
函数数据恢复器(键、值)
{ 
如果(键=='lastname')
{
var newLastname=“测试”;
返回newLastname;
}
返回值;//<此处是未修改的键/值传递的位置
}
stringify(jsonObj)/“{”firstname:“mike”,“lastname:“test”}”