在 JavaScript 中,可以使用 JSON.stringify() 方法将 JavaScript 对象转换为 JSON 字符串,以及使用 JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象。以下是一些实例:

1. 对象转换为 JSON 字符串
var person = {
  name: "John Doe",
  age: 30,
  city: "Example City"
};

// 将 JavaScript 对象转换为 JSON 字符串
var jsonString = JSON.stringify(person);
console.log(jsonString);

2. JSON 字符串转换为对象
var jsonString = '{"name":"John Doe","age":30,"city":"Example City"}';

// 将 JSON 字符串转换为 JavaScript 对象
var person = JSON.parse(jsonString);
console.log(person.name); // 输出 "John Doe"

3. 处理复杂对象和数组
var complexData = {
  name: "John Doe",
  age: 30,
  city: "Example City",
  friends: ["Alice", "Bob", "Charlie"],
  address: {
    street: "123 Main St",
    zip: "12345"
  }
};

// 将复杂对象转换为 JSON 字符串
var complexJsonString = JSON.stringify(complexData, null, 2);
console.log(complexJsonString);

在 JSON.stringify() 中,第二个参数是一个替代器,用于控制缩进和格式化,使 JSON 字符串更易读。

4. 处理日期对象
var dateObject = {
  currentDate: new Date()
};

// 将包含日期对象的 JavaScript 对象转换为 JSON 字符串
var jsonStringWithDate = JSON.stringify(dateObject, function(key, value) {
  if (value instanceof Date) {
    return value.toISOString(); // 将日期对象转为 ISO 格式字符串
  }
  return value;
});

console.log(jsonStringWithDate);

5. 处理 JSON 字符串中的数组
var jsonStringWithArray = '{"numbers":[1,2,3,4,5]}';

// 将包含数组的 JSON 字符串转换为 JavaScript 对象
var dataWithArray = JSON.parse(jsonStringWithArray);
console.log(dataWithArray.numbers[0]); // 输出 1

这些是一些基本的用法,展示了 JavaScript 中 JSON 对象与 JSON 字符串相互转换的常见实例。根据实际需求,你可以进一步定制和处理不同情况。


转载请注明出处:http://www.zyzy.cn/article/detail/4559/JSON