PHP:如何将JSON键转换为值并实现指定格式转换?
这是个很常见的键值对对象转结构化数组的需求,我给你几个主流编程语言的实现方案,你可以根据自己的技术栈来选:
JavaScript 实现
你可以利用 Object.entries() 方法先把原对象转换成键值对数组,再通过 map() 方法把每一组键值对映射成目标格式的对象:
const originalObj = {"1":"7.00","2":"8.00"}; const result = Object.entries(originalObj).map(([id, qty]) => ({ id, qty })); console.log(result); // 输出:[{"id":"1","qty":"7.00"},{"id":"2","qty":"8.00"}]
简单解释下步骤:
Object.entries(originalObj)会把原对象转成[["1", "7.00"], ["2", "8.00"]]这样的二维键值对数组map(([id, qty]) => ({ id, qty }))遍历每一组键值对,把键赋值给id字段、值赋值给qty字段,最终生成符合要求的对象数组
Python 实现
在Python里,你可以遍历原字典的items()方法拿到键值对,再用列表推导式快速生成目标数组:
original_dict = {"1":"7.00","2":"8.00"} result = [{"id": key, "qty": value} for key, value in original_dict.items()] print(result) # 输出:[{'id': '1', 'qty': '7.00'}, {'id': '2', 'qty': '8.00'}]
如果需要输出严格的JSON格式字符串(确保双引号),可以搭配json模块:
import json original_dict = {"1":"7.00","2":"8.00"} result = [{"id": key, "qty": value} for key, value in original_dict.items()] print(json.dumps(result)) # 输出:[{"id":"1","qty":"7.00"},{"id":"2","qty":"8.00"}]
通用核心思路
不管用什么编程语言,核心逻辑都是一致的:
- 遍历原对象/字典的所有键值对
- 将每个键映射到目标对象的
id字段,对应的值映射到qty字段 - 把所有生成的新对象收集到一个数组中即可
内容的提问来源于stack exchange,提问作者OPR
相关产品推荐
相关产品推荐

