Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

แสดงข้อมูล JSON Nested Object ใน JavaScript ด้วย JSON.parse()

Parse สตริง JSON ภายใน property แล้วเข้าถึงข้อมูล

ข้อมูล subjectDetails เก็บเป็นสตริง JSON ต้อง parse ก่อนถึงจะเข้าถึงได้

ตัวอย่างโค้ด

var details = [
  {
    studentId: 101,
    studentName: "John",
    countryName: "US",
    subjectDetails: '{"0":"JavaScript","1":"David"}'
  },
  {
    studentId: 102,
    studentName: "Bob",
    countryName: "UK",
    subjectDetails: '{"0":"Java","1":"Carol"}'
  },
  {
    studentId: 103,
    studentName: "Mike",
    countryName: "AUS",
    subjectDetails: '{"0":"MongoDB","1":"Adam"}'
  }
];

for (const detailsObject of details) {
  const subjectDetailsObject = JSON.parse(detailsObject.subjectDetails);
  console.log(subjectDetailsObject[0]); // แสดง subject แรก
}

วิธีรัน

node fileName.js

ผลลัพธ์

JavaScript
Java
MongoDB

คำอธิบาย

  • JSON.parse(string) แปลงสตริง JSON เป็นออบเจกต์/อาร์เรย์
  • property subjectDetails เก็บเป็นสตริง JSON (escaped quotes)
  • หลัง parse แล้ว เข้าถึงได้ด้วย subjectDetailsObject[0]

แนวทางปรับปรุง: เก็บเป็น Object/Array ตรงๆ ไม่ใช่ String

// ดีกว่า: เก็บเป็น object ตรงๆ
subjectDetails: { "0": "JavaScript", "1": "David" }

// หรือ array
subjectDetails: ["JavaScript", "David"]