iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0
Modern Web

Modern Web:從基礎、框架到前端學習系列 第 17

Day17:JSON 與資料格式處理

  • 分享至 

  • xImage
  •  

學習目標

  1. 了解 JSON 是什麼,以及為什麼它是前端最常用的資料格式。
  2. 學會在 JavaScript 中解析 (parse) 與序列化 (stringify) JSON。
  3. 學會如何操作 JSON 物件與陣列。
  4. 做一個小型聯絡人清單 (JSON → DOM 渲染)

理論講解

1.JSON 是什麼?

  1. JavaScript Object Notation,輕量級資料交換格式。
  2. 幾乎所有程式語言都支援。
  3. 常用於API 傳輸、資料儲存

範例:

{
  "name": "小明",
  "age": 22,
  "email": "ming@example.com",
  "skills": ["HTML", "CSS", "JavaScript"]
}

2.在 JavaScript 中處理 JSON

// JSON 字串
let jsonString = '{"name": "小明", "age": 22}';

// 解析 (Parse) → JSON 字串轉為 JS 物件
let obj = JSON.parse(jsonString);
console.log(obj.name); // 小明

// 序列化 (Stringify) → JS 物件轉為 JSON 字串
let newJson = JSON.stringify(obj);
console.log(newJson); // {"name":"小明","age":22}

3.JSON 常見結構

  • **物件 (Object)**→ { "key": "value" }
  • **陣列 (Array)**→ [{}, {}, {}]

實作練習:聯絡人清單

檔名:day17_json.html

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Day17 - JSON 與資料處理</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }
    .card {
      border: 1px solid #ccc;
      border-radius: 8px;
      padding: 12px;
      margin-bottom: 10px;
    }
    .card h3 {
      margin: 0;
      color: darkblue;
    }
  </style>
</head>
<body>
  <h1>聯絡人清單</h1>
  <div id="contactList"></div>

  <script>
    // JSON 陣列
    const contactsJSON = `[
      { "name": "小明", "age": 22, "email": "ming@example.com" },
      { "name": "小美", "age": 25, "email": "mei@example.com" },
      { "name": "小華", "age": 20, "email": "hua@example.com" }
    ]`;

    // 解析 JSON
    const contacts = JSON.parse(contactsJSON);

    // 把資料顯示在網頁上
    const contactList = document.getElementById("contactList");

    contacts.forEach(contact => {
      const card = document.createElement("div");
      card.className = "card";
      card.innerHTML = `
        <h3>${contact.name}</h3>
        <p>年齡:${contact.age}</p>
        <p>Email:${contact.email}</p>
      `;
      contactList.appendChild(card);
    });
  </script>
</body>
</html>

今日作業

  1. 嘗試在contactsJSON中新增一個新朋友,看看是否會自動出現在清單裡。
  2. 修改程式碼,讓年齡大於22 歲的人,名字顯示為紅色
  3. 挑戰:把資料存進一個JavaScript 物件,再轉成 JSON 字串輸出到 console。

上一篇
Day16:表單驗證與即時錯誤訊息
下一篇
Day18:Fetch API 與資料請求
系列文
Modern Web:從基礎、框架到前端學習20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言