在javascript中从json对象获取数据

时间:2016-04-07 08:01:04

标签: javascript json w2ui

我有来自PHP API的这个对象:

[Object { span=1,  caption="Particular",  master=true},
Object { span=5,  caption="Loan Class 1"},
Object { span=5,  caption="Loan Class 2"},
Object { span=5,  caption="Loan Class 3"}]

所需的输出是:

## Particular   Loan Class 1    Loan Class 2  Loan Class 3 ##

我试着这样做:

var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
for (var index in arrData[0]) {
row += index + ',';}
row = row.slice(0, -1);
CSV += row + '\r\n';

csv是什么样的

## span   caption   master ##  

请帮助如何获取标题值以及是否有一个脚本将在excel中输出,因为需要添加一些列的合并。

2 个答案:

答案 0 :(得分:1)

您应该遍历整个数组,而不仅仅是arrData[0]中的对象。并且您不应该使用for (index in object),只需将index设置为键,而不是值。然后,要访问字幕,请使用.caption

for (var i = 0; i < arrData.length; i++) {
    row += arrData[i].caption + ',';
}

答案 1 :(得分:0)

对于标题部分,您可以使用:

var row = arrData.map(function(element) {
  return element.caption;
}).join(' ');

.map用于提取数组中所有元素的标题值。生成的数组值与.join连接在一起。您可以将分隔符指定为.join函数的参数。

以Excel文件格式编写任何内容并非易事。除非您希望以CSV格式显示结果(您的代码示例暗示)。为此,您可能需要查看此answer