遍歷JSON——深入了解JavaScript中的JSON對象

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人們閱讀和編寫。它在API、配置文件和日誌文本中廣泛使用。在JavaScript中,JSON是一種內置對象,它提供了用於處理JSON數據的方法和屬性。在本次文章中,我們將深入探究JSON對象,解析JSON數據和遍歷JSON對象的方法。

一、遍歷JSON對象

遍歷JSON對象可以使用for循環,for-in循環和Object.keys()方法。首先,先定義一個JSON對象:

let person = {
  "name": "John",
  "age": 30,
  "city": "New York"
};

使用for循環遍歷JSON對象:

for(let key in person) {
  console.log(key + " : " + person[key]);
}

使用for-in循環遍歷JSON對象:

for(let key in person) {
  if(person.hasOwnProperty(key)) {
    console.log(key + " : " + person[key]);
  }
}

使用Object.keys()方法遍歷JSON對象:

Object.keys(person).forEach(function(key) {
  console.log(key + " : " + person[key]);
});

二、遍歷JSON對象給input賦值

在Web開發中,常常需要使用JSON對象來獲取表單的值或者設置表單的值。以下是設置一個input的value值的方法:

let nameInput = document.getElementById('name');
nameInput.value = person.name;

以下是獲取input的value值的方法:

let nameInput = document.getElementById('name');
person.name = nameInput.value;

三、遍歷JSON數組

與遍歷JSON對象相比,遍歷JSON數組有一些不同。以下是JSON數組的一個示例:

let animals = [
    {"name":"cat", "age":2},
    {"name":"dog", "age":3},
    {"name":"rabbit", "age":1}
];

使用forEach遍歷JSON數組:

animals.forEach(function(animal) {
    console.log(animal.name + " : " + animal.age);
});

使用for循環遍歷JSON數組:

for(let i = 0; i < animals.length; i++) {
    console.log(animals[i].name + " : " + animals[i].age);
}

四、遍歷JSONObject

遍歷JSONObject的方式與遍歷JSON對象類似,可以使用for循環,for-in循環和Object.keys()方法。以下是一個JSONObject的示例:

let fruit = {
    "apple": {"color":"red", "price":2},
    "banana": {"color":"yellow", "price":1.5},
    "orange": {"color":"orange", "price":1}
};

使用for循環遍歷JSONObject:

for(let key in fruit) {
  console.log(key + " : " + fruit[key].color + ", " + fruit[key].price);
}

使用for-in循環遍歷JSONObject:

for(let key in fruit) {
  if(fruit.hasOwnProperty(key)) {
    console.log(key + " : " + fruit[key].color + ", " + fruit[key].price);
  }
}

使用Object.keys()方法遍歷JSONObject:

Object.keys(fruit).forEach(function(key) {
  console.log(key + " : " + fruit[key].color + ", " + fruit[key].price);
});

五、遍歷JSON對象的鍵和值

要遍歷JSON對象的鍵和值,只需要使用for-in循環即可。

for(let key in person) {
  console.log("鍵:" + key + ", 值:" + person[key]);
}

六、遍歷JSON中每一項

使用foreach遍歷JSON每一項:

let jsonData = ['{"name":"alice", "age":18}', '{"name":"bob", "age":19}', '{"name":"charles", "age":20}'];
jsonData.forEach(function (item, index) {
  console.log(index + " : " + item);
})

七、遍歷JSONArray獲取數據

遍歷JSONArray獲取數據可以使用for循環,for-in循環和forEach方法。以下是JSONArray的一個示例:

let persons = [
    {"name": "Alice", "age":18},
    {"name": "Bob", "age":19},
    {"name": "Charles", "age":20},
];

使用for循環遍歷JSONArray獲取數據:

for(let i = 0; i < persons.length; i++) {
    console.log(persons[i].name + " : " + persons[i].age);
}

使用for-in循環遍歷JSONArray獲取數據:

for(let key in persons) {
  if(persons.hasOwnProperty(key)) {
    console.log(persons[key].name + " : " + persons[key].age);
  }
}

使用forEach方法遍歷JSONArray獲取數據:

persons.forEach(function(person) {
    console.log(person.name + " : " + person.age);
});

八、遍歷JSONObject的方式

使用for循環遍歷JSONObject:

for(let key in fruit) {
  console.log(key + " : " + JSON.stringify(fruit[key]));
}

使用for-in循環遍歷JSONObject:

for(let key in fruit) {
  if(fruit.hasOwnProperty(key)) {
    console.log(key + " : " + JSON.stringify(fruit[key]));
  }
}

九、遍歷JSONObject的key

獲取JSONObject的key可以使用Object.keys()方法或者使用for-in循環。

let keys = Object.keys(fruit);
console.log(keys);
for(let key in fruit) {
  console.log(key);
}

十、JS遍歷JSON數組選取方法

在實際開發中,常常需要從JSON數組中選取特定的元素。以下是使用for循環和filter方法選取JSON數組中的元素:

let persons = [
    {"name": "Alice", "age":18},
    {"name": "Bob", "age":19},
    {"name": "Charles", "age":20},
];
let adults = [];  // 保存年齡大於等於18的元素
for(let i = 0; i < persons.length; i++) {
    if(persons[i].age >= 18) {
        adults.push(persons[i]);
    }
}
console.log(adults);

使用filter方法選取JSON數組中的元素:

let adults = persons.filter(function(person) {
    return person.age >= 18;
})
console.log(adults);

在web開發中,我們總是和json打交道,本文深入的介紹了JSON的遍歷方式。通過了解JSON對象,我們可以更好地理解API、配置文件和日誌文本的應用,也可以使我們更好地操作JSON數據。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/186288.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 05:45
下一篇 2024-11-27 05:45

相關推薦

  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python如何遍歷字典中的key和value

    本文將詳細講解Python中如何遍歷字典中的key和value,包括多種遍歷方式以及在遍歷過程中的一些應用場景。 一、遍歷字典中的key和value 在Python中,字典是一種無…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分佈式文件系統(HDFS)。HDFS是一個可擴展性高的分佈式…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Mapster:一個高性能的對象映射庫

    本文將深入介紹furion.extras.objectmapper.mapster,一個高性能的對象映射庫,解釋它是如何工作的以及如何在你的項目中使用它。 一、輕鬆地實現對象之間的…

    編程 2025-04-28
  • 二叉樹非遞歸先序遍歷c語言

    本文將為您詳細介紹二叉樹的非遞歸先序遍歷算法,同時提供完整的C語言代碼示例。通過本文,您將了解到二叉樹的先序遍歷算法,以及非遞歸實現的方式。 一、二叉樹的先序遍歷算法介紹 在介紹二…

    編程 2025-04-28
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • Python如何遍歷列表

    在Python編程中,列表是一種常用的數據類型,它允許我們存儲多個值。但是,我們如何遍歷列表並對其中的每個值進行操作呢? 一、for循環遍歷列表 fruits = [‘apple’…

    編程 2025-04-28

發表回復

登錄後才能評論