You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:47:35