我有一个读取csv
文件的perl代码。它包含需要在前端更新的grid
数据。
首先,这是perl代码,它读取数据并对其进行格式化,以便将数据推送到前端进行显示。
my @array;
for my $column ($csv->column_headers) {
my $json = encode_json([ map { $_->{$column} } @$data ]);
push(@array, "$json;");
}
最终数据是传递给前端@array
代码的javascript
。 @array
的内容如下。
["1","2"]; ["dd","ddd"]; ["wow","cool"]; ["HOLD","HOLD"];
此数据实际上是4
列,其列标题名称为Id
,Name
,Comment
和type
。所有这些数据都在@array
中捆绑在一起并传递给Javascript
。
var header=[];
header[0] = @array[0];
}
如果我执行console.log(header[0])
,此代码会显示以下输出;这意味着它正在显示数组的第一个元素。但我想显示第一个元素的元素。
["1", "2"]
而它应显示在输出下方。
["1"]
简而言之,我想知道如何访问数组元素元素。我尝试使用下面的代码,但它没有用。有人可以建议吗?
var header=[];
header[0] = @array[0][0];
我最终试图通过使用下面的代码将这些数据放入网格中。
for (var i=0;i<row_cnt;i++){
var row={};
row["Id"]=Id[i];
row["Name"]=Name[i];
row["Comment"]=Comment[i];
row["type"]= type[i];
data[i]=row;
}
其中Id[i]
将在第一个循环中与"1"
相对应,在第二个循环中与"2"
相对应。同样,它将为其他列生成数据。然后将这些分配给行并在网格中更新。
根据matts建议,我编辑了这样的代码
my $json = encode_json($data);
for my $column ($csv->column_names) {
push(@data_array, "var $column= $json;");
}
现在它显示grid
的每个单元格下面的值。
[object Object]
答案 0 :(得分:0)
在your previous question的答案的基础上,我认为你只需要在最后换掉循环:
my $json = encode_json($data);
print "var data = $json;\n";