ฉันมีข้อมูล JSON นี้:
{
"employees": [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
"lastName": "Smith"
},
{
"firstName": "Peter",
"lastName": "Jones"
}
]
}
สมมติว่าฉันไม่ทราบจำนวนคอลัมน์และแถวของพนักงานฉันจะสร้างออบเจ็กต์นี้ใน JavaScript ได้อย่างไร (โดยไม่ต้องต่อสตริง) สมมติว่าฉันได้รับแต่ละแถวในเมธอด "onGeneratedRow" และฉันต้องดันแต่ละคอลัมน์ (firstName, lastName) ไปที่วงเล็บ "{}"
var viewData = {
employees : []
};
var rowNum = -1;
function onGeneratedRow(columnsResult)
{
rowNum = rowNum + 1;
viewData.employees.push({});
columnsResult.forEach(function(column) {
var columnName = column.metadata.colName;
viewData.employees[rowNum][columnName] = column.value; });
}
คำถามนี้ไม่สมเหตุสมผลสำหรับฉันในปัจจุบันคุณช่วยอธิบายเพิ่มเติมได้ไหมว่าข้อมูลของคุณมาจากไหนและอยู่ในรูปแบบใด คุณแค่เพิ่มข้อมูลที่มีอยู่หรือสร้างทั้งหมดตั้งแต่ต้น บางทีคุณอาจสร้าง jsfiddle เพื่อแสดงให้เห็นว่าปัญหาที่คุณพบคืออะไรคำถามของคุณเป็นเพียงวิธีการเข้าถึงข้อมูลภายในวัตถุอาร์เรย์ / หรือจาวาสคริปต์หรือไม่? และให้ชัดเจนเกี่ยวกับข้อมูล JSON หรือวัตถุ Javascript: stackoverflow.com/questions/8294088/javascript-object-vs-json
—
Xotic750
สมมติว่า "columnName" คือ "firstName" และ "column.value" คือค่า (ตัวอย่างเช่น "John") ฉันแค่ต้องรู้วิธีดันพวกเขาแบบไดนามิกลงในวงเล็บ ('{}')
—
ohadinho
จะเกิดอะไรขึ้นเมื่อคุณเรียกใช้รหัสที่คุณแสดง
—
nnnnnn
@ohadinho ไม่ชัดเจนโครงสร้างข้อมูลอินพุตของคุณคืออะไร (json)
—
Kamil Kiełczewski
columnsResult
columnsResult
? คืออะไรmetadata
?