📜  json 数据查找 - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:04.538000             🧑  作者: Mango

JSON 数据查找 - JavaScript

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据交互。在 JavaScript 中,我们可以通过访问对象属性的方式来查找 JSON 数据。本文将介绍一些常见的 JSON 数据查找方法。

访问 JSON 数据

首先,我们需要将 JSON 字符串转换为 JavaScript 对象,以便对其进行访问。可以使用 JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象。

const jsonStr = '{"name": "Alice", "age": 18}';
const jsonObj = JSON.parse(jsonStr);

console.log(jsonObj.name); // Alice
console.log(jsonObj.age); // 18

我们也可以通过 JavaScript 对象字面量的方式来创建 JSON 数据,如下所示:

const jsonObj = {
  "name": "Alice",
  "age": 18
};

console.log(jsonObj.name); // Alice
console.log(jsonObj.age); // 18
查找 JSON 数组元素

JSON 数组是一组由逗号分隔的值,包在方括号 [] 中。可以通过索引访问 JSON 数组中的元素。

const jsonStr = '[{"name": "Alice", "age": 18}, {"name": "Bob", "age": 20}]';
const jsonObj = JSON.parse(jsonStr);

console.log(jsonObj[0].name); // Alice
console.log(jsonObj[0].age); // 18
console.log(jsonObj[1].name); // Bob
console.log(jsonObj[1].age); // 20
查找套嵌的 JSON 数据

当 JSON 数据的某个属性嵌套了另一个 JSON 数据时,我们可以通过访问嵌套对象的属性来查找数据。

const jsonStr = '{"name": "Alice", "age": 18, "address": {"city": "Shanghai", "country": "China"}}';
const jsonObj = JSON.parse(jsonStr);

console.log(jsonObj.address.city); // Shanghai
console.log(jsonObj.address.country); // China
查找 JSON 属性值

如果我们知道 JSON 数据的属性名,可以通过访问属性来查找属性值。

const jsonStr = '{"name": "Alice", "age": 18}';
const jsonObj = JSON.parse(jsonStr);

console.log(jsonObj.name); // Alice
console.log(jsonObj.age); // 18
使用 lodash.get()

如果 JSON 数据比较复杂,嵌套层数较多,可以使用第三方库 lodash 的 _.get() 方法来简化查找过程。该方法接受两个参数,第一个是 JSON 对象,第二个是要查找的属性路径。

const jsonObj = {
  "name": "Alice",
  "age": 18,
  "address": {
    "city": "Shanghai",
    "country": "China"
  }
};

console.log(_.get(jsonObj, 'name')); // Alice
console.log(_.get(jsonObj, 'address.city')); // Shanghai

以上就是常见的 JSON 数据查找方法。通过这些方法,我们可以方便地访问 JSON 数据中的各种属性。