gpt4 book ai didi

json - 在 Node.js 中将字符串转换为带有嵌套键的 JSON 对象的最佳方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:16 25 4
gpt4 key购买 nike

我有以下输入:

  var input = {
"usa.ca.los": 12345,
"usa.ca.sfo": 12346,
"usa.ws.sea": 22333,
"others.a.b.c.d.e": 33333
}

我想把它变成:

 var output = {
"usa": {
"ca": {
"los": 12345,
"sfo": 12346,
},
"ws": {
"sea": 22333
}
}
"others":{"a":{"b":{"c":{"d":{"e":33333}}}}}
}

我知道我可以使用递归函数并构造输出,但似乎工作量太大。

由于我的程序是在 Node.js 中,是否有更简单的方法使用 underscore.js 来完成它?或者其他一些现有的功能可以让我正确地进行转换?

最佳答案

我认为下划线中没有内置函数可以做到这一点,但自己编写一个相当简单的事情:

var input = {
"usa.ca.los": 12345,
"usa.ca.sfo": 12346,
"usa.ws.sea": 22333,
"others.a.b.c.d.e": 33333
}

function parse(input){
var output = {};
for(var key in input){
setByString(output, input[key], key);
}

return output;
}

function setByString(obj, value, key){
var split = key.split('.');
while(split.length){
key = split.shift();
if(split.length){
if(!obj.hasOwnProperty(key)){
obj[key] = {};
}
obj = obj[key];
} else {
obj[key] = value;
}
}
}

console.log(parse(input));

关于json - 在 Node.js 中将字符串转换为带有嵌套键的 JSON 对象的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17137615/

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