我已經在這裏一段時間了,似乎無法得到此。我也是相對較新的JavaScript。我的目標是創建具有格式通過鍵將json字符串分組並添加到數組
{
data:{
[A1:"first column first row", B1:"second column", C1:"third column",...etc],
[A2:"first column first row", B2:"second column", C2:"third column",...etc],
[A3:"first column first row", B3:"second column", C3:"third column",...etc],
[A4:"first column first row", B4:"second column", C4:"third column",...etc],
[A5:"first column first row", B5:"second column", C5:"third column",...etc]
}
}
這可能是密切相關的Excel如何與行和列格式的陣列(或新的JavaScript對象)。我打算使用它來爲客戶端操縱此數據然後提供handsontable。
我現在擁有的是
var file = __dirname + '/../../clientFiles/exceltest.json';
fs.readFile(file, 'utf8', function (err, data) {
if (err) {
sails.log.error('ERROR: ' + err);
return;
}
data = JSON.parse(data);
var rows = Object.keys(data);
rows.forEach(function(column) {
var items = Object.keys(data[column]);
items.sort();
items.forEach(function(item) {
var value = data[column][item];
console.log(item+' = '+value);
});
});
});
關鍵的名字永遠不會少於2個字符,但可以擴大規模(如A1 => AAA1)就像在Excel中。
該網頁腳本
<div id="dataTable"></div>
<script>
$("#dataTable").handsontable({
data: <%= data %>,
startRows: 6,
startCols: 8,
rowHeaders: true,
colHeaders: true,
});
</script>
我pullng的JSON的格式如下
{
"sheet1": {
"F15": "4,385.97",
"G15": "910.36",
"H15": "1,555.36",
"I15": "373.74",
"J15": "24.03%",
"K15": "58.53%",
"L15": "61",
"M15": "669",
"N15": "216665",
"B16": "01/14/2014",
"D16": "829",
"E16": "12,997.13",
"F16": "531.85",
"G16": "225.48",
"H16": "359.21",
"I16": "80.21",
"J16": "22.33%",
"K16": "62.77%",
"L16": "55",
"M16": "99",
"N16": "45384",
"B17": "01/14/2014",
"D17": "320",
"E17": "6,142.45",
"F17": "1,643.42",
"G17": "129.76",
"H17": "215.90",
"I17": "41.09",
"J17": "19.03%",
"K17": "60.10%",
"L17": "111",
"M17": "182",
"N17": "35485",
"D18": "13478",
"E18": "94,735.05",
"F18": "6,663.08",
"G18": "1,689.97",
"H18": "3,054.92",
"I18": "839.16",
"J18": "27.47%",
"K18": "55.32%",
"L18": "29",
"M18": "996",
"N18": "396396"
},
"sheet2": {
"F15": "4,385.97",
"G15": "910.36",
"H15": "1,555.36",
"I15": "373.74",
"J15": "24.03%",
"K15": "58.53%",
"L15": "61",
"M15": "669",
"N15": "216665",
"B16": "01/14/2014",
"D16": "829",
"E16": "12,997.13",
"F16": "531.85",
"G16": "225.48",
"H16": "359.21",
"I16": "80.21",
"J16": "22.33%",
"K16": "62.77%",
"L16": "55",
"M16": "99",
"N16": "45384",
"B17": "01/14/2014",
"D17": "320",
"E17": "6,142.45",
"F17": "1,643.42",
"G17": "129.76",
"H17": "215.90",
"I17": "41.09",
"J17": "19.03%",
"K17": "60.10%",
"L17": "111",
"M17": "182",
"N17": "35485",
"D18": "13478",
"E18": "94,735.05",
"F18": "6,663.08",
"G18": "1,689.97",
"H18": "3,054.92",
"I18": "839.16",
"J18": "27.47%",
"K18": "55.32%",
"L18": "29",
"M18": "996",
"N18": "396396"
}
}
我使用我的框架和發動機帆和的NodeJS。我已經能夠對鑰匙進行分類,但是將它們分組並不能解決問題。如果需要,我可以使用underscorejs。
在此先感謝。
你展示在上面並沒有太大的意義,Y的數據結構你定義一個數組就像一個散列,然後一個包含數組的散列......? – htatche
@htatche是對的;您顯示的結構不是有效的JSON。此外,您不清楚您正在尋找什麼樣的分組。將粘貼在底部的JSON數據分成多個工作表,每個工作表具有相同的行和列,但是您在頂部指定的結構每行有一個數組... – sgress454
要確認:您正在尋找將數據分組這樣每行都由一個數組表示,並且該數組中的值表示該行中每列的值?所以,你打算把所有的「A *」鍵放在同一個數組中,所有的「B *」鍵放在另一個數組中等等。 – Kyle