如何将指定JSON数组转换为目标键值对JSON格式?
JSON数组转键值对对象的实现方法
需求说明
给定如下JSON数组输入:
[ { "brand": "mobile", "qty": 245 }, { "brand": "tablet", "qty": 1202 }, { "brand": "xbox", "qty": 6031 } ]
需要将其转换为以brand字段值为键、qty字段值为对应值的JSON对象,期望输出:
{ "mobile": 245, "tablet": 1202, "xbox": 6031 }
JavaScript实现
用Array.reduce()方法可以高效完成转换:
const inputArray = [ { brand: "mobile", qty: 245 }, { brand: "tablet", qty: 1202 }, { brand: "xbox", qty: 6031 } ]; const outputObj = inputArray.reduce((acc, item) => { acc[item.brand] = item.qty; return acc; }, {}); // 输出格式化后的JSON字符串 console.log(JSON.stringify(outputObj, null, 2));
核心逻辑:遍历数组时,将每个元素的brand作为键、qty作为值存入累加对象,最终得到目标结构。
Python实现
用字典推导式就能简洁完成转换:
input_list = [ {"brand": "mobile", "qty": 245}, {"brand": "tablet", "qty": 1202}, {"brand": "xbox", "qty": 6031} ] output_dict = {item["brand"]: item["qty"] for item in input_list} print(output_dict)
如果需要输出格式化的JSON字符串,可借助json模块:
import json print(json.dumps(output_dict, indent=2))
内容的提问来源于stack exchange,提问作者james11
相关产品推荐
相关产品推荐

