如何在JavaScript中将JSON的字符串值转换为字符串数组?
将JSON对象属性值从字符串转为字符串数组的方法
这里提供几种简单直接的实现方式,根据你的需求选择:
1. 直接修改原对象
这是最直观的方式,适合确定目标属性存在且为字符串的场景:
const testJSON = { "name": "Albert" }; // 把name的值包装进数组 testJSON.name = [testJSON.name];
执行后testJSON就会变成你期望的结构。
2. 创建新对象(不修改原数据)
如果需要保留原对象不变,可以用扩展运算符生成新对象:
const testJSON = { "name": "Albert" }; // 复制原对象所有属性,仅修改name为数组 const newTestJSON = { ...testJSON, name: [testJSON.name] };
这种方式不会改动原testJSON,新对象newTestJSON是你要的结果。
3. 通用处理函数(兼容边界情况)
如果需要复用逻辑,或者要处理属性可能是数组、不存在等情况,可以写个工具函数:
const testJSON = { "name": "Albert" }; function convertPropToArray(obj, propName) { // 先检查属性是否存在 if (obj.hasOwnProperty(propName)) { // 只有当属性值不是数组时才转换 if (!Array.isArray(obj[propName])) { obj[propName] = [obj[propName]]; } } return obj; } // 调用函数处理name属性 convertPropToArray(testJSON, 'name');
这个函数能避免重复转换已经是数组的属性,也能处理属性不存在的情况。
内容的提问来源于stack exchange,提问作者Alim
相关产品推荐
相关产品推荐

