Javascript 使用reviver函数解析JSON.parse
如何使用JSON.parse reviver方法编辑某个值。 我只想编辑每个声明为lastname的键,然后返回新值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
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”}”