【发布时间】:2017-03-21 19:32:08
【问题描述】:
我正在尝试解析以下 JSON(格式),将其展平并获取所需的键/值(输出),如下所述。我正在尝试找出最好的方法。
我需要获取 displayName 及其对应的父级
例如: 特征:分类特征
输入:
{
"Shop": {
"subFilter": [
{
"taxoFeatures": {
"displayName": "Features"
}
},
{
"color_base": {
"displayName": "Colour"
}
}
],
"displayName": "Shopping"
},
"Support": {
"subFilter": [
{
"contentType": {
"displayName": "Content"
}
}
],
"displayName": "Support documents"
}
}
预期输出:
{
"Shopping": "Shop",
"Features":"taxoFeatures",
"Colour":"color_base",
"Content":"contentType",
"Support documents":"Support"
}
我正在考虑遍历 JSON 并找到键并添加相应的键和 displayName 值(然后遍历每个子数组并存储这些值)。还有其他想法吗?
let customName = {};
for (const key in filter) {
if (filter.hasOwnProperty(key)) {
const value = filter[key];
if (isNotEmpty(value.displayName)) {
customName[value.displayName] = key;
}
}
}
【问题讨论】:
-
这里真正重要的是了解您正在寻找的模式,然后您可以创建一个有效的算法。我不容易看出您正在收集的数据的模式是什么。如果它在每种情况下都是特定且独特的,那么很难编写一个包罗万象的函数来提取您需要的任何数据。
标签: javascript arrays json node.js