gpt4 book ai didi

javascript - 使用 JSON.Parse Reviver 转换对象

转载 作者:行者123 更新时间:2023-12-04 10:10:28 26 4
gpt4 key购买 nike

是否可以在 JSON.parse 函数上使用 reviver 来更改正在解析的数据的结构?

例如,我如何解析下面的字符串:

fruitString = "{"Apple":2,"Orange":4}";



到以下对象?

fruitPrices: {
"Apple":{
"price": 2
},
"Orange":{
"price": 4
}
}


我试过的是:

let fruitPrices = JSON.parse(fruitString, (key, value) => {
return {key: {'price' => value}};
});


但我得到的是:
>      fruitPrices:{
> key:{
> price:{
> Apple:{
> key:{
> price:2
> }
> }
> Orange:{
> key:{
> price:4
> }
> }
> }
> }
> }

请你能帮我理解我做错了什么吗?

最佳答案

以下是您如何使用 reviver 做到这一点:

let fruitPrices = JSON.parse(
fruitString,
(key, value) => key === '' ? value : {price: value}
);

对空字符串的检查是由 reviver 如何穿过对象引起的。最后一次迭代恰好获取您的最终对象,并且最终检查的键始终是一个空字符串。我们不想在最后一步改变任何东西,所以我们只返回 value那里。

关于javascript - 使用 JSON.Parse Reviver 转换对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61353231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com