JS 对象(Object)和字符串(String)互转方法是前端开发中非常常用的操作。下面是详细的攻略:
1. JS 对象转字符串
1.1 JSON.stringify()
一个 JS 对象可以通过使用 JSON.stringify()
方法转化为字符串类型。该方法接收一个参数,即要转化的对象。
示例代码:
let person = {
name: 'Jack',
age: 25,
gender: 'Male'
};
let stringPerson = JSON.stringify(person);
console.log(stringPerson); // 输出: '{"name":"Jack","age":25,"gender":"Male"}'
在该示例中,我们通过调用 JSON.stringify()
将 person
对象转化成字符串类型,并将其赋值给 stringPerson
变量。
该方法还可以传入第二个参数,用于对输出的字符串进行进一步处理,如下:
let person = {
name: 'Jack',
age: 25,
gender: 'Male'
};
let stringPerson = JSON.stringify(person, null, 2);
console.log(stringPerson);
// 输出:
// {
// "name": "Jack",
// "age": 25,
// "gender": "Male"
// }
在该示例中,我们传入了第二个参数 null
,第三个参数 2
,用于格式化输出的字符串。
1.2 Object.prototype.toString()
除了 JSON.stringify()
方法,还可以使用 Object.prototype.toString()
方法将对象转化为字符串类型。
示例代码:
let person = {
name: 'Jack',
age: 25,
gender: 'Male'
};
let stringPerson = person.toString();
console.log(stringPerson); // 输出: '[object Object]'
在该示例中,我们通过调用 toString()
方法将 person
对象转化成字符串类型,并将其赋值给 stringPerson
变量。该方法的输出结果为 [object Object]
。
2. 字符串转 JS 对象
2.1 JSON.parse()
一个字符串通常可以使用 JSON.parse()
方法转化为 JS 对象。该方法接收一个参数,即要转化的字符串。
示例代码:
let stringPerson = '{"name":"Jack","age":25,"gender":"Male"}';
let person = JSON.parse(stringPerson);
console.log(person);
// 输出:
// {
// name: 'Jack',
// age: 25,
// gender: 'Male'
// }
在该示例中,我们通过调用 JSON.parse()
将 stringPerson
字符串转化成对象类型,并将其赋值给 person
变量。
该方法还可以传入第二个参数,用于对输入的字符串进行进一步处理,如下:
let stringPerson = '{ "name": "Jack", "age": 25, "gender": "Male" }';
let person = JSON.parse(stringPerson, function(key, value) {
if (key === 'age') {
return value + 1;
}
return value;
});
console.log(person);
// 输出:
// {
// name: 'Jack',
// age: 26,
// gender: 'Male'
// }
在该示例中,我们通过传入第二个参数,使用函数对输入的字符串进行进一步处理。
2.2 eval()
除了 JSON.parse()
方法,还可以使用 eval()
方法将字符串转化为 JS 对象。但是,在使用 eval()
方法时需要非常谨慎,因为它可以执行字符串中的任意代码,有安全风险。
示例代码:
let stringPerson = '{ "name": "Jack", "age": 25, "gender": "Male" }';
let person = eval('(' + stringPerson + ')');
console.log(person);
// 输出:
// {
// name: 'Jack',
// age: 25,
// gender: 'Male'
// }
在该示例中,我们通过调用 eval()
方法将 stringPerson
字符串转化成对象类型,并将其赋值给 person
变量。需要注意的是,在使用 eval()
方法时,需要在字符串外面添加括号,避免出现语法错误。
以上就是 JS 对象(Object)和字符串(String)互转方法的完整攻略,希望能够对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS 对象(Object)和字符串(String)互转方法 - Python技术站