📜  json 返回对象对象 - Javascript (1)

📅  最后修改于: 2023-12-03 14:43:34.698000             🧑  作者: Mango

JSON 返回对象 - JavaScript

在 JavaScript 中,我们通常使用 JSON 来交换数据。JSON 通常被用作从服务器获取数据,然后把这些数据展示给用户或将修改后的数据发送回服务器。

什么是 JSON?

JSON 是 JavaScript 对象表示法(JSON, JavaScript Object Notation)的缩写。JSON 是一种轻量级的数据交换格式,易于人类阅读和编写,同时也易于机器解析和生成。JSON 的语法是 JavaScript 对象的语法扩展。因此,我们可以将 JSON 数据当作对象来访问。

JSON 的数据格式如下:

{
  "firstName": "John",
  "lastName": "Doe",
  "age": 30,
  "address": {
    "street": "One Microsoft Way",
    "city": "Redmond",
    "state": "WA",
    "zip": 98052
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "425-555-1212"
    },
    {
      "type": "work",
      "number": "425-555-1213"
    },
    {
      "type": "mobile",
      "number": "425-555-1214"
    }
  ]
}

在 JSON 中,数据被表示为键值对。键必须是字符串,而值可以是字符串、数值、布尔值、数组、对象或 null。值的数据类型必须是有效的 JSON 数据类型。

如何将 JavaScript 对象转换为 JSON?

在 JavaScript 中,我们可以使用 JSON.stringify() 方法来将 JavaScript 对象转换成 JSON 数据。

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 30,
  address: {
    street: "One Microsoft Way",
    city: "Redmond",
    state: "WA",
    zip: 98052
  },
  phoneNumbers: [
    {
      type: "home",
      number: "425-555-1212"
    },
    {
      type: "work",
      number: "425-555-1213"
    },
    {
      type: "mobile",
      number: "425-555-1214"
    }
  ]
};

const jsonData = JSON.stringify(person);

console.log(jsonData);

输出结果:

{
  "firstName": "John",
  "lastName": "Doe",
  "age": 30,
  "address": {
    "street": "One Microsoft Way",
    "city": "Redmond",
    "state": "WA",
    "zip": 98052
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "425-555-1212"
    },
    {
      "type": "work",
      "number": "425-555-1213"
    },
    {
      "type": "mobile",
      "number": "425-555-1214"
    }
  ]
}
如何将 JSON 数据转换为 JavaScript 对象?

在 JavaScript 中,我们可以使用 JSON.parse() 方法将 JSON 数据转换为 JavaScript 对象。

const jsonData = `
{
  "firstName": "John",
  "lastName": "Doe",
  "age": 30,
  "address": {
    "street": "One Microsoft Way",
    "city": "Redmond",
    "state": "WA",
    "zip": 98052
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "425-555-1212"
    },
    {
      "type": "work",
      "number": "425-555-1213"
    },
    {
      "type": "mobile",
      "number": "425-555-1214"
    }
  ]
}
`;

const person = JSON.parse(jsonData);

console.log(person);

输出结果:

{
  firstName: "John",
  lastName: "Doe",
  age: 30,
  address: {
    street: "One Microsoft Way",
    city: "Redmond",
    state: "WA",
    zip: 98052
  },
  phoneNumbers: [
    {
      type: "home",
      number: "425-555-1212"
    },
    {
      type: "work",
      number: "425-555-1213"
    },
    {
      type: "mobile",
      number: "425-555-1214"
    }
  ]
}
结论

JSON 是一种轻量级的数据交换格式,易于人类阅读和编写,同时也易于机器解析和生成。在 JavaScript 中,我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换成 JSON 数据,使用 JSON.parse() 方法将 JSON 数据转换成 JavaScript 对象。