是否有一个逗号分隔下面结构中的JSON返回值,以便我的结果为blues, brews, barbecue, festival, music
?
我的JSON输出:
"tags": "blues brews barbecue festival music"
使用{{item.tag}} {{$last ? '' : ', '}}
对具有以下JSON结构的ng-repeat指令非常有效。但是,我的JSON格式不是这样的。
[{"tag":"blues"},{"tag":"brews"},{"tag":"barbecue"},{"tag":"festival"},{"tag":"music"}]
答案 0 :(得分:0)
使用String.split()
将字符串转换为数组:
var arr = "blues brews barbecue festival music".split(" ")
//produces ["blues", "brew", "barbecue", "festival", "music"]
"tags": arr.map(function(el) {
return {
name: el,
href: myHref
}
})
//produces [{name: "blues", href: ""}...]
只需在json对象加载后执行此代码。
然后您可以将其与ng-repeat
<ul ng-repeat={{tags}}>
<li>{{tag}}</li>
</ul>
答案 1 :(得分:0)
您可以使用map
split
var data = {"tags": "blues brews barbecue festival music"};
var tags = data.tags.split(' ').map(function(tag) {
return {tag: tag};
});
document.write(JSON.stringify(tags, null, 2));
但如果您只是显示一个字符串,请不要使用重复,只需加入拆分:
var data = {"tags": "blues brews barbecue festival music"};
var tags = data.tags.split(' ').join(", ");
document.write(tags);