JavaScript中如何获取带双引号的变量值以适配JSON?
解决JavaScript对象转JSON双引号格式的问题
首先得澄清一个误区:你在控制台看到的{ id: '1' }只是JavaScript对象的默认输出格式,并不是说这个对象的属性值是单引号的——在JavaScript里,单引号和双引号包裹的字符串是完全等价的,对象本身根本不会区分这一点。
如果你需要的是符合JSON规范的双引号格式字符串(因为JSON要求所有键和字符串值都必须用双引号),那正确的做法是用JSON.stringify()方法把对象转换成标准JSON字符串,而不是纠结对象字面量的显示。
给你修改后的代码示例:
// 获取输入框元素 let idInput = document.querySelector("#v_id"); // 获取输入框的值 let stringID = idInput.value; // 创建对象 let vObj = { id: stringID }; // 转换成标准JSON字符串(自动使用双引号) let jsonResult = JSON.stringify(vObj); // 此时输出的就是双引号格式的JSON字符串 console.log(jsonResult); // 结果: {"id":"1"}
再补充几个关键点:
- 如果你只是在JavaScript代码内部使用这个
vObj对象,完全不需要关心单双引号的显示问题,因为单双引号的字符串在JS中功能完全一致。 JSON.stringify()是专门用来把JS对象/数组转换成符合JSON标准的字符串的方法,它会自动把所有键和字符串值转换成双引号格式,完美满足你的需求。- 反过来,如果要把JSON字符串转回JS对象,可以用
JSON.parse()方法。
内容的提问来源于stack exchange,提问作者AhuraMazda
相关产品推荐
相关产品推荐

