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"]