javascript - 如何拆分添加子属性名称的 JSON 属性值?

标签 javascript arrays json split

我正在检索一个 JSON 对象数组,然后使用 JS split将一个属性的内容放入一个子数组中,用于解析需求。

但我不确定如何将子属性名称添加到为该属性新建的数组。

所以现在当我使用以下方法对属性进行拆分时:

 for (var i = 0; i < recordsets[0].length; i++){ 
       recordsets[0][i].Chart_Name = recordsets[0][i].Chart_Name.split(',');                           
    }

我得到以下输出:

"Chart_Name":[  
            "Criticality",
            " Status"
         ],

但我的目标是为每个数组值添加一个属性名称,例如:

    "Chart_Name":[  
            {name: "Criticality"},
            {name: "Status"}
         ],

问题:

如何将 Json 字符串拆分为子属性数组?

这是上下文的 JSON 数组的要点:

[  
   [  
      {  
         "Dashboard_Name":"my dashboard",
         "Chart_Name":[  
            "Criticality",
            " Status"
         ]
      }  
   ]
]

最佳答案

你可以使用 Array#map并返回一个对象。

for (var i = 0; i < recordsets[0].length; i++){ 
    recordsets[0][i].Chart_Name = recordsets[0][i].Chart_Name.split(',').map(function (a) { 
        return { name: a };
    });
}

或者把整个重写得更短一些

recordsets[0].forEach(function (a) { 
    a.Chart_Name = a.Chart_Name.split(',').map(function (b) { 
        return { name: b };
    });
});

不使用 split 发布编辑建议

for (var i = 0; i < recordsets[0].length; i++){ 
    recordsets[0][i].Chart_Name = recordsets[0][i].Chart_Name.map(function (a) { 
        return { name: a };
    });
}

或者把整个重写得更短一些

recordsets[0].forEach(function (a) { 
    a.Chart_Name = a.Chart_Name.map(function (b) { 
        return { name: b };
    });
});

关于javascript - 如何拆分添加子属性名称的 JSON 属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547071/

相关文章:

javascript - 纯 HTML 与 React。相同的内容呈现不均。为什么?

javascript - 在不更改链接的情况下在页面之间导航

javascript - 将 material-ui 为子组件生成的样式放在为父组件生成的样式之后?

c - 如何在C中返回指向数组的指针?

JavaScript : can't get json elements from a Json File

python - 从 python 调用字典到 openoffice 中的基本宏

javascript - 使用正则表达式匹配和更改 html 元素的颜色

ruby-on-rails - Rails 简单常量和选择选项

javascript - NG-在数组中重复数组

android - 改造 - 解析 JSON