บล็อกนี้จะอธิบายวิธีการอ่านไฟล์ JSON ผ่าน Node.js
จะอ่านไฟล์ JSON ใน Node.js ได้อย่างไร
มีสามวิธีที่ข้อมูลไฟล์ JSON ที่เลือกสามารถอ่านได้ใน Node.js ข้อมูลที่ดึงมาสามารถแสดงบนคอนโซลหรือบนเว็บไซต์ตามหมายเลขพอร์ตเฉพาะ ส่วนนี้ประกอบด้วยวิธีการที่เป็นไปได้ทั้งหมดในการอ่านไฟล์ JSON
ข้อกำหนดเบื้องต้น:
ก่อนที่จะไปสู่การใช้งานจริง ขั้นแรกให้ดูที่ไฟล์ประเภท JSON ที่ต้องอ่านโดยใช้ Node.js ในกรณีของเราคือ “ jsonData ” ไฟล์มีข้อมูลดังต่อไปนี้:
{
'ชื่อ' : : “แอนเดอร์สัน” ,
'อายุ' : : 19 ,
'เพศ' : : 'ชาย' ,
'แผนก' : : 'เคมี' ,
'กรุ๊ปเลือด' : : 'บี+' ,
'น้ำหนัก' : : '72' ,
'ทักษะ' : : 'การเขียนโปรแกรม' ,
'ที่ตั้ง' : : 'นิวบอสตัน'
}
วิธีที่ 1: ใช้วิธี 'require()' เพื่ออ่านไฟล์ JSON ใน Node.js
หากต้องการอ่านข้อมูลที่จัดเก็บไว้ในไฟล์ประเภท JSON แบบสุ่ม ให้ใช้ปุ่ม “ จำเป็นต้อง() ” วิธีการดึงฟังก์ชันหรือวิธีการที่อยู่ในโมดูลภายนอก ใช้ชื่อของโมดูลภายในวงเล็บและส่งกลับอ็อบเจ็กต์ที่มีวิธีการ คุณสมบัติ หรือเหตุการณ์ของโมดูลนั้น
ในทำนองเดียวกัน การข้ามเส้นทางของไฟล์ JSON ไปยังเมธอดนี้จะส่งคืนออบเจ็กต์ที่มีข้อมูลทั้งหมดของไฟล์ เป็นวิธีที่ง่ายและสะดวกที่สุดในการอ่านไฟล์ทุกประเภทใน Node.js
ขั้นแรก สร้างไฟล์ชื่อ 'read.js' และเพิ่มโค้ดด้านล่างลงในไฟล์เพื่อการสาธิตวิธีนี้ในทางปฏิบัติ:
ให้ jsonReadData = จำเป็นต้อง ( './jsonData.json' ) ;คอนโซล บันทึก ( jsonReadData.json ) ;
ในโค้ดข้างต้น:
- เส้นทางของไฟล์ JSON มีให้ภายใน ' จำเป็นต้อง() ” เป็นพารามิเตอร์ในการดึงข้อมูลและจัดเก็บไว้ในวัตถุ “jsonReadData”
- “ console.log() ” วิธีการใช้เพื่อแสดงข้อมูลที่ดึงมาบนคอนโซล
ดำเนินการไฟล์ “read.js” โดยใช้ “ โหนด ' สั่งการ:
ชื่อไฟล์โหนดผลลัพธ์ด้านล่างนี้แสดงว่าข้อมูลไฟล์ JSON ได้รับการดึงข้อมูลโดยใช้คำสั่ง “ จำเป็นต้อง() ' วิธี:
วิธีที่ 2: ใช้ฟังก์ชัน 'readFile()' เพื่ออ่านไฟล์ JSON ใน Node.js
“ อ่านไฟล์() ” เป็นอีกฟังก์ชั่นหนึ่งที่อ่านข้อมูลไฟล์จากไฟล์ ระบบไฟล์(fs) โดยไม่ปิดกั้นกระบวนการดำเนินการเนื่องจากลักษณะอะซิงโครนัส นอกจากนี้ยังใช้ฟังก์ชันโทรกลับเพื่อทำหน้าที่เพิ่มเติมบางอย่างกับข้อมูลที่ดึงมา ตัวอย่างเช่น ใช้เพื่อดึงข้อมูลของไฟล์ JSON
ไวยากรณ์
ไวยากรณ์สำหรับ “ อ่านไฟล์() ” หน้าที่ของ “ FS ” โมดูลระบุเป็น:
fsObj. อ่านไฟล์ ( ชื่อไฟล์, encodeType, customCallbackFunction )ในไวยากรณ์ข้างต้น:
- “ fsObj ” คือวัตถุหรืออินสแตนซ์ที่จะเรียกใช้โมดูล “fs” เพื่อใช้ฟังก์ชัน “readFile()”
- “ ชื่อไฟล์ ” คือไฟล์เฉพาะที่ต้อง “อ่าน”
- “ encodeType ” เป็นพารามิเตอร์ทางเลือกที่ระบุประเภทการเข้ารหัส เช่น utf8 หากไม่ได้ระบุไว้ ข้อมูลจะกลับมาเป็น 'บัฟเฟอร์'
- “ ฟังก์ชันการโทรกลับแบบกำหนดเอง ” เป็นฟังก์ชันที่ดำเนินการหลังจากอ่านไฟล์สำเร็จแล้ว
ข้ามผ่านบล็อกโค้ดด้านล่างซึ่งมีเนื้อหาของไฟล์ JSON เดียวกัน “ jsonData ” ถูกดึงข้อมูลและแสดงบนคอนโซลโดยใช้ปุ่ม “ อ่านไฟล์() ' วิธี:
ค่าคงที่ fsObj = จำเป็นต้อง ( 'เอฟเอส' ) ;fsObj. อ่านไฟล์ ( 'jsonData.json' , ( เกิดขึ้นผิดพลาด เนื้อหา ) => {
ถ้า ( เกิดขึ้นErr ) โยน เกิดขึ้นErr ;
ให้ jsonData = เจสัน แยกวิเคราะห์ ( เนื้อหา ) ;
คอนโซล บันทึก ( jsonData ) ;
} ) ;
คอนโซล บันทึก ( 'การดำเนินการไม่ถูกบล็อกสำหรับกระบวนการที่กำลังจะเกิดขึ้น' ) ;
คำอธิบายของโค้ดข้างต้นระบุไว้ด้านล่าง:
- ประการแรก “ FS ” โมดูลถูกนำเข้าสู่ปัจจุบัน “ อ่าน. js ” ไฟล์และวัตถุของมันจะถูกเก็บไว้ในตัวแปรชื่อ “ fsObj '.
- จากนั้นเรียกใช้ ' อ่านไฟล์() ” วิธีการใช้ “ fsObj ” ตัวแปรที่ส่งไฟล์ JSON เป็นพารามิเตอร์ตัวแรก และฟังก์ชันเรียกกลับเป็นพารามิเตอร์ตัวที่สอง นอกจากนี้ฟังก์ชันการโทรกลับยังมีพารามิเตอร์สองตัว “ เกิดขึ้นErr ' และ ' เนื้อหา '.
- ภายในฟังก์ชันการโทรกลับ ให้ใช้ ' ถ้า ” คำสั่งเพื่อดำเนินการจัดการข้อผิดพลาด
- หลังจากนั้นให้ผ่าน “ เนื้อหา ” พารามิเตอร์ใน “ JSON.แยกวิเคราะห์() ” วิธีการแปลงข้อมูลเป็นรูปแบบ JSON เพื่อเพิ่มความสามารถในการอ่าน
- สุดท้ายก็ออกไปข้างนอก” อ่านไฟล์() ” วิธีการแสดงข้อความแบบสุ่มบนคอนโซลเพื่อยืนยันว่าไม่ได้บล็อกกระบวนการถัดไปจนกว่าจะมีการดำเนินการของกระบวนการก่อนหน้า
ตอนนี้รันไฟล์ “read.js” โดยใช้คำสั่งด้านล่าง:
โหนดอ่านผลลัพธ์แสดงให้เห็นว่าสามารถดึงข้อมูล JSON ได้สำเร็จโดยไม่ปิดกั้นการดำเนินการสำหรับกระบวนการที่กำลังจะมาถึง:
วิธีที่ 3: ใช้ฟังก์ชัน 'readFileSync()' เพื่ออ่านไฟล์ JSON ใน Node.js
“ อ่านไฟล์ซิงค์() ” ยังมีฟังก์ชันให้โดย ระบบไฟล์(fs) โมดูลที่อ่านไฟล์ในลักษณะซิงโครนัส จะหยุดการทำงานของโปรแกรมจนกว่างานที่ได้รับมอบหมายจะไม่เสร็จสิ้น กล่าวอีกนัยหนึ่งเป็นไปตามวิธีการมาก่อนได้ก่อน ซึ่งตรงกันข้ามกับที่กล่าวมาโดยสิ้นเชิง” อ่านไฟล์() ' การทำงาน.
ไวยากรณ์
ไวยากรณ์ของเมธอด “readFileSync()” เขียนไว้ด้านล่าง:
fsObj. อ่าน FileSync ( filePath, encodeType )ในไวยากรณ์ข้างต้น:
- “ filePath ” ประกอบด้วยเส้นทางของไฟล์ที่เลือก
- “ encodeType ” ระบุประเภทการเข้ารหัสตามความต้องการ
การดำเนินการตามวิธีการที่กำหนดไว้ระบุไว้ในโค้ดด้านล่าง:
ค่าคงที่ fsObj = จำเป็นต้อง ( 'เอฟเอส' ) ;ให้เนื้อหา = fsObj. อ่าน FileSync ( 'jsonData.json' ) ;
ให้ jsonData = เจสัน แยกวิเคราะห์ ( เนื้อหา ) ;
คอนโซล บันทึก ( jsonData ) ;
คอนโซล บันทึก ( 'ขณะนี้การดำเนินการถูกบล็อกสำหรับกระบวนการที่กำลังจะเกิดขึ้น' ) ;
คำอธิบายสำหรับบล็อกโค้ดข้างต้นเขียนไว้ที่นี่:
- ขั้นแรก นำเข้า ' FS ” โมดูลและจัดเก็บเป็นวัตถุในตัวแปร “ fsObj '.
- จากนั้นเรียกใช้ ' อ่านไฟล์ซิงค์() ” และส่งชื่อไฟล์ JSON เป็นพารามิเตอร์ มันจะส่งคืนข้อมูลของไฟล์ที่ระบุซึ่งเก็บไว้ในตัวแปร “ jsonData '.
- หากต้องการแสดงข้อมูลในรูปแบบที่อ่านได้ ให้ใช้ปุ่ม “ JSON.แยกวิเคราะห์() ” วิธีการเกี่ยวกับเนื้อหาไฟล์ที่เก็บไว้ใน “ เนื้อหา ” จากนั้นจึงแสดงบนคอนโซล
สุดท้ายให้รันไฟล์เพื่อดูผลลัพธ์:
โหนดอ่านจะเห็นได้ว่าเอาต์พุตแสดงข้อมูลไฟล์ JSON โดยการบล็อกกระบวนการที่กำลังจะเกิดขึ้นทั้งหมด:
คู่มือนี้ได้อธิบายวิธีการอ่านไฟล์ JSON ใน Node.js
บทสรุป
หากต้องการอ่านข้อมูลไฟล์ JSON ใน Node.js ให้ใช้เครื่องหมาย “ จำเป็นต้อง ” วิธีการดึงข้อมูลของไฟล์ประเภทใด ๆ หรือโมดูลภายนอก นอกจากนี้ “ อ่านไฟล์() ' และ ' อ่านไฟล์ซิงค์() ” หน้าที่ของ “ FS ” โมดูลสามารถใช้เพื่อทำงานนี้ได้ เมื่อดึงข้อมูลไฟล์โดยใช้ฟังก์ชันเหล่านี้แล้วให้ใช้คำสั่ง “ JSON.แยกวิเคราะห์() ” วิธีการทำให้เนื้อหาอ่านได้ คู่มือนี้ได้อธิบายวิธีการและฟังก์ชันที่ช่วยในการอ่านไฟล์ JSON ใน Node.js