你好我有一个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
有什么优雅的方式吗?
由于
答案 0 :(得分:5)
你需要的是:
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(","));
如果您需要特定顺序的结果,在调用数组上的forEach之前对键(来自Object.keys(obj)
)进行排序将有所帮助。像这样:
Object.keys(obj).sort().forEach(function(key) {
答案 1 :(得分:0)
这在Javascript中非常简单。您可以像这样访问变量data
:
alert(data[0]);
应该提醒“San Diego acls”。使用循环对所有这些做同样的事情。您可以使用+
运算符轻松地连接字符串。
var result = "";
for (var dString in data) {
result += dString + ", ";
}
这将创建一个名为result
的字符串,并将数组中字符串的元素添加到其中。它还会在问题中描述的每个元素之间添加“,”。
答案 2 :(得分:0)
这个也有效。
$(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);
});