我有一个像这样的JSon
[{"label":"Alabama"},{"label":"Alaska"},{"label":"Arizona"},...etc]
我想得到像这样的每个州名
["Alabama","Alaska","Arizona",...etc]
这是我尝试将json转换为自定义字符串。
<script type="text/javascript">
$(document).ready(function () {
var res = [{ "label": "Alabama" }, { "label": "Alaska" }, { "label": "Arizona" }];
var out = $.parseJSON(res);
alert(out);
});
</script>
以上似乎没有用,请帮我一些。
答案 0 :(得分:1)
这样的东西?
var meow = [];
$.each(out, function(l, i){
meow.push(i);
});
答案 1 :(得分:1)
使用Array#map功能
var res = [{"label":"Alabama"},{"label":"Alaska"},{"label":"Arizona"}];
var states = x.map(function(o){
return o.label;
});
或Lo-dash
var states = _.map(res , 'label');
jQuery#map,因为您已经在使用它,它应该解决浏览器问题
var states = jQuery.map( res , function( o, i ) {
return o.label;
});
答案 2 :(得分:1)
res
已经是JavaScript数据结构。使用$.parseJSON
是多余的,会导致错误。删除该行。
至于获取数组元素:
states = res.map(function (elem) {
return elem.label;
});
或者,如果您使用的是Underscore.js,_.pluck(res, "label")
答案 3 :(得分:0)