你好,我有一个javascript问题,我得到了一个JSON结果:
{"0":"San Diego acls","1":"San Diego pals","2":" San Diego CPR","3":" Temecula acls","4":" Temecula pals"}它存储在一个名为data的变量中。
我想解析这个数据变量并创建一个列表,如下所示:
San Diego acls, San Diego pals, San Diego CPR, Temecula acls, Temecula pals有什么优雅的方式吗?
谢谢
发布于 2012-06-16 14:00:40
您需要的是:
var res = [];
for (var x in obj)
if (obj.hasOwnProperty(x))
res.push(obj[x]);
console.log(res.join(","));还有另一种“优雅”的方式(取自Alex's answer),
res = [];
Object.keys(obj).forEach(function(key) {
res.push(obj[key]);
});
console.log(res.join(","));如果您需要特定顺序的结果,在数组上调用Object.keys(obj)之前对键(来自forEach )进行排序将会有所帮助。如下所示:
Object.keys(obj).sort().forEach(function(key) {发布于 2012-06-16 13:28:30
这在Javascript中非常简单。您可以像这样访问变量data:
alert(data[0]);这应该提醒“圣地亚哥acls”。使用循环对所有这些对象执行相同的操作。您可以使用+操作符轻松地连接字符串。
var result = "";
for (var dString in data) {
result += dString + ", ";
}这将创建一个名为result的字符串,并将数组中字符串的元素添加到该字符串中。它还会像问题中描述的那样在每个元素之间添加",“。
发布于 2012-06-16 14:44:40
这个也行得通。
$(document).ready(function(){
var data = {"0":"San Diego acls","1":"San Diego pals","2":" San Diego CPR","3":" Temecula acls","4":" Temecula pals"};
var csv = $.map(data,function(data){ return data;});
alert(csv);
});jsfiddle DEMO
https://stackoverflow.com/questions/11061061
复制相似问题