在 JavaScript 中,可以使用 JSON.parse() 方法将 JSON 字符串转换成 JavaScript 对象。
const jsonString = '{"name": "Alice", "age": 20}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // 输出:Alice
在 JavaScript 中,可以使用 JSON.stringify() 方法将 JavaScript 对象转换成 JSON 字符串。
const obj = {name: "Alice", age: 20};
const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出:{"name":"Alice","age":20}
如果 JSON 数据中包含嵌套的对象或数组,可以通过递归的方式进行处理。
const jsonString = '{"name": "Alice", "age": 20, "contacts": {"email": "alice@example.com", "phone": "123456789"}, "hobbies": ["reading", "swimming"]}';
const obj = JSON.parse(jsonString);
console.log(obj.contacts.email); // 输出:alice@example.com
console.log(obj.hobbies[0]); // 输出:reading
如果 JSON 数据中存在不规则的格式,可以使用第二个参数 reviver 对其进行处理。
const jsonString = '{"name": "Alice", "birthday": "2000-01-01", "hobbies": "reading,swimming"}';
const obj = JSON.parse(jsonString, (key, value) => {
if (key === 'birthday') {
return new Date(value);
} else if (key === 'hobbies') {
return value.split(',');
} else {
return value;
}
});
console.log(obj.birthday.getFullYear()); // 输出:2000
console.log(obj.hobbies[0]); // 输出:reading