如何修改JSON结构,将permission字段值作为新属性名生成目标结构?
实现方案
这里以JavaScript为例给出转换逻辑:
核心思路
遍历原始permissions数组的每一项,将每一项的permission字段值作为新对象的键,value字段值作为新对象的值,重组数组即可。
完整代码示例
// 原始JSON字符串 const originalJson = `{ "permissions": [ { "permission": "X", "value": "" }, { "permission": "Y", "value": "false" }, { "permission": "Z", "value": "false" } ] }`; // 1. 解析JSON为JS对象 const originalData = JSON.parse(originalJson); // 2. 转换数组结构 const convertedData = { permissions: originalData.permissions.map(item => { // 用计算属性名动态生成键 return { [item.permission]: item.value }; }) }; // 3. 如果需要转回JSON字符串,缩进2格格式化 const resultJson = JSON.stringify(convertedData, null, 2); console.log(resultJson);
输出验证
运行上述代码后,打印的resultJson就是要求的目标结构:
{ "permissions": [ { "X": "" }, { "Y": "false" }, { "Z": "false" } ] }
如果用其他语言实现,思路完全一致:遍历数组元素,重组键值对即可。
内容的提问来源于stack exchange,提问作者Ido Segal
相关产品推荐
相关产品推荐

