TypeScript中如何转换JSON对象格式并移除外层value键
处理方案
核心逻辑是对原JSON数组的每一项,提取value属性的值作为新数组的元素,使用语言内置的数组映射方法比手动写foreach循环代码更简洁,可读性更强,性能和foreach完全一致,是更优的实现方式。
以下是常用编程语言的实现示例:
JavaScript 实现
// 假设你已经把接口返回的JSON字符串解析为数组存在originalArr变量中 const result = originalArr.map(item => item.value); // 容错版:兼容部分项不存在value属性的场景 const safeResult = originalArr.map(item => item?.value ?? {}).filter(Boolean); // 如果需要输出为JSON字符串: const resultJsonStr = JSON.stringify(result, null, 4);
Python 实现
import json # 假设接口返回的JSON字符串存在resp_str变量中 original_arr = json.loads(resp_str) result = [item["value"] for item in original_arr] # 容错版:兼容部分项不存在value属性的场景 safe_result = [item.get("value", {}) for item in original_arr if "value" in item] // 如果需要输出为格式化后的JSON字符串: result_json_str = json.dumps(result, indent=4, ensure_ascii=False)
其他编程语言通用逻辑
几乎所有主流编程语言都有对应的数组映射语法,核心逻辑完全一致:
- Java 可以用 Stream API 的
map方法 - PHP 可以用
array_map函数 - Go 可以用 for 循环遍历提取(Go暂时没有内置map语法,和手写foreach逻辑一致)
内容的提问来源于stack exchange,提问作者Peter Mueller
相关产品推荐
相关产品推荐

