JSON对象数组到单个字符串

Posted

技术标签:

【中文标题】JSON对象数组到单个字符串【英文标题】:JSON array of objects to single string 【发布时间】:2019-11-22 16:44:31 【问题描述】:

我在 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。

提前致谢。

【问题讨论】:

【参考方案1】:

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

方式 1 使用 map & toString 函数

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

在这一行之后 ->var tags = 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

【讨论】:

【参考方案2】:

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

tags.map(( name ) =&gt; name).join(', ');

【讨论】:

以上是关于JSON对象数组到单个字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用Jackson将JSON数组反序列化为单个Java对象

RestKit:将单个对象映射到现有数组

当 XML SOAP 响应中存在单个元素时,JSON 对象而不是数组

如何在mongodb的单个json文档中过滤对象数组? [复制]

将 json 对象中的元素数组保存到不同的行中

如何从 JSON 数组中的 JSON 对象中的单个值获取数据?