Javascript 拆分JSON字符串,结果为空

Javascript 拆分JSON字符串,结果为空,javascript,jquery,Javascript,Jquery,我在发布jQueryAjax请求后得到的数据如下 [{"name":"Man","id":"1"},{"name":"SKC","id":"2"},{"name":"fsdfds","id":"3"},{"name":"ETA","id":"4"},{"name":"Star","id":"5"},{"name":"SCity ","id":"6"},{"name":"TESTGB","id":"11"}] 所以我需要以这样一种方式将其拆分,以得到如下下拉列表: <select>

我在发布jQueryAjax请求后得到的数据如下

[{"name":"Man","id":"1"},{"name":"SKC","id":"2"},{"name":"fsdfds","id":"3"},{"name":"ETA","id":"4"},{"name":"Star","id":"5"},{"name":"SCity ","id":"6"},{"name":"TESTGB","id":"11"}]
所以我需要以这样一种方式将其拆分,以得到如下下拉列表:

<select>
<option value="1">Man</option>
<option value="2">SKC</option>
.
.
.
</select>

人
SKC
.
.
.
我已经尝试过了,但这会将数据拆分为null

$.each(data, function (index, value) {                  
    $('#bu_group').append($('<option/>', { 
        value: value,
        text : value 
    }));
}); 
$。每个(数据、函数(索引、值){
$('#bu_组')。追加($('',{
价值:价值,
文本:值
}));
}); 

您必须这样做:

$.each(data, function (index, data) {                  
    $('#bu_group').append($('<option/>', { 
        "value": data.id,
        "text": data.name
    }));
});
$。每个(数据、函数(索引、数据){
$('#bu_组')。追加($('',{
“值”:data.id,
“text”:data.name
}));
});
或者,另一种方式,就像您希望值和文本都相同一样:

$.each(data, function (index, data) {                  
    $('#bu_group').append($('<option/>', { 
        "value": data.name,
        "text": data.name
    }));
});
$。每个(数据、函数(索引、数据){
$('#bu_组')。追加($('',{
“value”:data.name,
“text”:data.name
}));
});
属性
和值
冲突。此外,您需要访问
的内部成员,而不是
本身

小提琴:试试这个

$.each(data, function (index, val) {                  
                        $('#bu_group').append($('<option/>', { 
                            value: val.id,
                            text : val.name 
                        }));
}); 
$。每个(数据、函数(索引、val){
$('#bu_组')。追加($('',{
值:val.id,
文本:val.name
}));
}); 
var yourray=JSON.parse(数据);
log(数组);
$.each(你的数组,函数(索引,你的数组){
$('#builder_group')。追加($('',{
value:yourArray.id,
text:yourArray.name,
}));
});   

这解决了我的问题

您是将其作为字符串获取,还是只是JavaScript代码?JavaScript对象和JSON不是一回事。@Qantas 94 Heavy我从jQueryAjax响应中得到了这一点。在控制台中,它显示stringOkay,我删除了
var data=
位,以使其更清晰。@user3004356请查看小提琴:
var yourArray = JSON.parse(data);
                   console.log(yourArray);                                           
                    $.each(yourArray, function (index, yourArray) {                 
                        $('#builder_group').append($('<option/>', { 
                            value: yourArray.id,
                            text : yourArray.name, 
                        }));
});