JSON对象数组到单个字符串

时间:2019-07-12 23:31:14

标签: javascript json vue.js

我在Vue JS中有一个名为 tags 的数据对象,如下所示:

tags: [
    {name: "menu"},
    {name: "red"}
],

目前,我可以以此输出它们

var tags = this.tags;
var tagss = JSON.stringify(tags);
console.log('list of tags:' + tagss);

但它会像这样返回它:

list of tags:[{"name":"menu"},{"name":"red"}]

我希望它像这样返回它们:

list of tags: menu,red

任何想法该怎么做?我想要这样的原因是这样,我可以使用标签列表查询我的API。

谢谢。

2 个答案:

答案 0 :(得分:4)

您可以使用Array.map遍历数组并将名称提取到新数组中,然后将各项连接起来以创建逗号分隔的字符串,如下所示:

tags.map(({ name }) => name).join(', ');

答案 1 :(得分:1)

您需要的只是将对象的js数组转换为字符串,

使用map和toString函数的方式1

因此,首先,我们将对象数组转换为索引数组,然后将数组转换为字符串

此行之后-> var标签= this.tags;

var tagss = tags.map(function(tag) {
  return tag['name'];
});
console.log(tagss);  //output should be [menu,red]
tagss_string = tagss.toString();
console.log(tagss_string);  //output should be menu,red

方法2仅使用循环并将值连接到字符串

var tags_string = '';
for (var i=0;i<tags.length;i++){
    if (i!=0)
    tags_string += ','+tags[i].name ;
    else 
    tags_string += tags[i].name ;
}
console.log(tags_string);  //output should be menu,red