首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从JSON响应中获取逗号分隔的列表?

如何从JSON响应中获取逗号分隔的列表?
EN

Stack Overflow用户
提问于 2012-06-16 13:22:31
回答 3查看 14.4K关注 0票数 2

你好,我有一个javascript问题,我得到了一个JSON结果:

代码语言:javascript
复制
{"0":"San Diego acls","1":"San Diego pals","2":" San Diego CPR","3":" Temecula acls","4":" Temecula pals"}

它存储在一个名为data的变量中。

我想解析这个数据变量并创建一个列表,如下所示:

代码语言:javascript
复制
San Diego acls, San Diego pals, San Diego CPR, Temecula acls, Temecula pals

有什么优雅的方式吗?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2012-06-16 14:00:40

您需要的是:

代码语言:javascript
复制
var res = [];
for (var x  in obj)
    if (obj.hasOwnProperty(x))
        res.push(obj[x]);
console.log(res.join(","));

还有另一种“优雅”的方式(取自Alex's answer),

代码语言:javascript
复制
res = [];
Object.keys(obj).forEach(function(key) {
    res.push(obj[key]);
});
console.log(res.join(","));

如果您需要特定顺序的结果,在数组上调用Object.keys(obj)之前对键(来自forEach )进行排序将会有所帮助。如下所示:

代码语言:javascript
复制
Object.keys(obj).sort().forEach(function(key) {
票数 5
EN

Stack Overflow用户

发布于 2012-06-16 13:28:30

这在Javascript中非常简单。您可以像这样访问变量data

代码语言:javascript
复制
alert(data[0]);

这应该提醒“圣地亚哥acls”。使用循环对所有这些对象执行相同的操作。您可以使用+操作符轻松地连接字符串。

代码语言:javascript
复制
var result = "";
for (var dString in data) { 
    result += dString + ", ";
}

这将创建一个名为result的字符串,并将数组中字符串的元素添加到该字符串中。它还会像问题中描述的那样在每个元素之间添加",“。

票数 0
EN

Stack Overflow用户

发布于 2012-06-16 14:44:40

这个也行得通。

代码语言:javascript
复制
$(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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11061061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档