我将根据给定的输入获得动态JSON响应。 喜欢这个
{ results:
[ { email: 'test@test.com',
name: 'aaaaaa',
phone: "987654321",
createdAt: '2015-07-08T10:51:07.715Z',
updatedAt: '2015-07-08T12:17:38.924Z',
},
{ email: 'test12@test.com',
name: 'bbbbbb',
phone: "9845454510",
createdAt: '2015-07-08T10:58:07.715Z',
updatedAt: '2015-07-08T12:47:31.924Z',
}
]
}
并且喜欢这个
{ results:
[ { appName: 'myTest',
key: 'MSZAD',
env:"dev"
},
{ appName: 'HelloWorldApp',
key: 'TXCVD',
env:"prod"
}
]
}
如何渲染如下所示,
第一个例子
email name phone
-----------------------------------
test@test.com aaaaaa 987654321
test12@test.com bbbbbb 9845454510
第二个例子
appname key env
--------------------------
myTest MSZAD dev
HelloWorldApp TXCVD prod
如果响应相同,我可以使用带静态标题的简单循环。但反应是动态的。响应中只有results
在所有响应中都是相同的。
修改:
到目前为止我已尝试过的代码
var collection = JSON.parse(body).results;
for (var i = 0; i<collection.length; i++) {
var obj = collection[i];
for (var key in obj) {
console.log(key+':'obj[key]);
}
}
输出:
email: test@test.com
name:aaaaaa
phone : 987654321
createdAt:...
updatedAt: ...
email: test12@test.com
name:bbbbbb
phone : 98454510
createdAt:...
updatedAt:...
答案 0 :(得分:1)
试试这个
var data = { results:
[ { email: 'test@test.com',
name: 'aaaaaa',
phone: "987654321",
createdAt: '2015-07-08T10:51:07.715Z',
updatedAt: '2015-07-08T12:17:38.924Z',
},
{ email: 'test12@test.com',
name: 'bbbbbb',
phone: "9845454510",
createdAt: '2015-07-08T10:58:07.715Z',
updatedAt: '2015-07-08T12:47:31.924Z',
}
]
};
var headers = data.results[0];
var hd = '';
for(var key in headers) {
hd += key+' ';
}
console.log(hd);
for(var index in data.results) {
var obj = data.results[index];
var out = '';
for(var key in obj) {
out += obj[key]+' ';
}
console.log(out);
}