สคริปต์โมดูล JSON พร้อมใช้งานใน Baseline เวอร์ชันใหม่แล้ว

available. keywords: docType:Blog,category:Baseline2025,language:JavaScript

เผยแพร่: 18 มิถุนายน 2025

หากต้องการนําเข้าไฟล์ JSON ในโมดูล JavaScript ก่อนหน้านี้คุณต้องทําขั้นตอนต่างๆ เช่น การฝัง JSON ใน JavaScript เพื่อใช้คำสั่ง import ปกติ หรือดาวน์โหลดไฟล์ด้วย fetch() แล้วเรียกใช้ Response.json() ปัญหานี้ได้รับการแก้ไขแล้วในเบราว์เซอร์สมัยใหม่ทั้งหมด สคริปต์โมดูล JSON และแอตทริบิวต์การนําเข้า

ตัวอย่างต่อไปนี้แสดงวิธีนําเข้าสคริปต์โมดูล JSON จากภายในสคริปต์โมดูล JavaScript

import astronomyPictureOfTheDay from "./apod.json" with { type: "json" };

const {explanation, title, url} = astronomyPictureOfTheDay;

document.querySelector('h2').textContent = title;
document.querySelector('figcaption').textContent = explanation;
Object.assign(document.querySelector('img'), { src: url, alt: title });

คุณไม่จำเป็นต้องใส่ JSON.parse() เนื่องจากระบบจะแยกวิเคราะห์ JSON และพร้อมใช้งานทันทีหลังจาก import ซึ่งได้ผลเนื่องจากเบราว์เซอร์ทราบล่วงหน้าว่ากำลังจัดการกับ JSON ซึ่งคุณประกาศด้วยแอตทริบิวต์การนําเข้า with { type: "json" }

ดูการสาธิตการนําเข้าโมดูล JSON แบบเรียลไทม์ที่ใช้โค้ดจากข้อมูลก่อนหน้า

การตรวจสอบประเภท MIME สำหรับสคริปต์โมดูลเป็นแบบเข้มงวด การดึงข้อมูลสคริปต์ข้อบังคับของ JSON จะสำเร็จได้ก็ต่อเมื่อการตอบกลับ HTTP มีประเภท MIME ของ JSON เช่น Content-Type: text/json

หากละเว้นส่วน with { type: "json" } ของคำสั่งไว้ เบราว์เซอร์จะถือว่าคุณต้องการนำเข้าสคริปต์โมดูล JavaScript และการดึงข้อมูลจะดำเนินการไม่สำเร็จหากการตอบกลับ HTTP มีประเภท MIME ที่ไม่ใช่ประเภท MIME ของ JavaScript

คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับการประมวลผลสคริปต์โมดูล JSON ในข้อกำหนด HTML