如何使用JS/jQuery将JavaScript变量转换为指定格式的JSON?
问题
我拥有以下JavaScript变量:
var var1 = 'Banana'; var var2 = 'Apple'; var var3 = 'Cherry';
请问如何将这些变量转换为如下格式的JSON?
{ var1:"Banana", var2:"Apple", var3:"Cherry" }
解决方案
有两种实用方法可以完成这个转换:
手动构建对象再转JSON
先创建包含目标变量的JS对象,再通过JSON.stringify()方法转换为格式化的JSON字符串:// 构建对应键值对的对象 const targetObj = { var1: var1, var2: var2, var3: var3 }; // 转换为带缩进的JSON字符串,第三个参数4控制缩进空格数 const jsonResult = JSON.stringify(targetObj, null, 4); console.log(jsonResult);ES6简洁写法
若你的运行环境支持ES6语法,可使用对象属性简写,代码更紧凑:const targetObj = { var1, var2, var3 }; const jsonResult = JSON.stringify(targetObj, null, 4); console.log(jsonResult);
注意:你给出的示例JSON格式存在不规范之处——标准JSON要求键名必须用双引号包裹(即
"var1":"Banana"),上述代码生成的是符合JSON规范的格式。如果场景特殊需要不带双引号的键(严格来说这不是合法JSON),只能手动拼接字符串,但不推荐这种做法,因为会破坏JSON的标准兼容性。
内容的提问来源于stack exchange,提问作者miami
相关产品推荐
相关产品推荐

