在JavaScript中递归地将JSON对象转换为键/值数组
Recursively transform a JSON object to an array of key/value in JavaScript
如何将JSON转换为JS中的属性数组,无论JSON的深度是什么
JSON{
"foo": {
"bar": {
"baz": "UP"
}
}
}
键/值属性
{
"foo.bar.baz": "UP"
}
一级解决方案我当前的代码只处理一个级别,而不是n:
var user = {name: 'Corbin', age: 20, location: 'USA'},
key;
for (key in user) {
if (user.hasOwnProperty(key)) {
console.log(key + " = " + user[key]);
}
}
Thank you:D
基本上,如果成员是对象,则进行递归调用,否则,更新输出对象:
data = {
foo: "hello",
bar: {
baz: {
qux: "UP"
},
spam: 'ham'
}
}
function unwrap(obj, prefix) {
var res = {};
for (var k of Object.keys(obj)) {
var val = obj[k],
key = prefix ? prefix + '.' + k : k;
if (typeof val === 'object')
Object.assign(res, unwrap(val, key)); // <-- recursion
else
res[key] = val;
}
return res;
}
console.log(unwrap(data))
相关文章:
- Javascript转换数组
- JSON.stringify不转换数组
- 使用underscore.js转换数组
- 对象转换数组
- 在 JavaScript 中的值列表中转换数组
- 转换数组并反转
- 用一个巨大的字符串“”转换数组;数字”;,用逗号分隔成一个数字数组(而不是字符串)
- 用javascript转换数组中的日期
- 如何转换数组字符串
- 转换数组中的输入值
- 如何在创建数组后转换数组中的var
- Json转换数组是一个字符串
- 在AngularJS中转换数组属性
- 在javascript中转换数组
- 动态转换数组为树状结构
- 使用Javascript和Underscore.js转换数组对象
- node.js中使用node-gyp的转换数组
- Nodejs -转换数组
- D3 js转换数组的矩形不工作
- 在Javascript中转换数组的数字到字符串