Bu JSON verisine sahibim:
{
"employees": [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
"lastName": "Smith"
},
{
"firstName": "Peter",
"lastName": "Jones"
}
]
}
Diyelim ki kaç tane çalışanım ve sütunum olduğunu bilmiyorum, bu nesneyi JavaScript'te nasıl oluşturabilirim (Kesikli dizeler olmadan)? "OnGeneratedRow" yöntemindeki her satırı aldığımı ve her sütunu (firstName, lastName) '{}' parantezine itmem gerektiğini varsayalım.
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; });
}
Bu soru şu anda bana mantıklı gelmiyor, verilerinizin nereden ve hangi formatta geldiğini biraz daha açıklayabilir misiniz? Sadece mevcut verilere mi ekliyorsunuz yoksa hepsini sıfırdan mı oluşturuyorsunuz? Belki de yaşadığınız sorunun ne olduğunu göstermek için bir jsfiddle oluşturabilirsiniz. Sorunuz gerçekten sadece, bir dizi / veya javascript nesnesi içindeki verilere nasıl erişilir? Ve veriler, JSON veya Javascript nesnesi hakkında net
—
olalım
"columnName" in "firstName" ve "column.value" değerinin (örneğin: "John") olduğunu varsayın. Onları dinamik olarak parantez içine nasıl iteceğimi bilmem gerekiyor ('{}')
—
ohadinho
Gösterdiğiniz kodu çalıştırdığınızda ne olur?
—
nnnnnn
@ohadinho, giriş veri yapınızın (json) ne olduğu belli değil
—
Kamil Kiełczewski
columnsResult
columnsResult
? Nedirmetadata
?