Javascript 无法在MVC中使用jquery/js将json数据(api结果)绑定到下拉列表

Javascript 无法在MVC中使用jquery/js将json数据(api结果)绑定到下拉列表,javascript,jquery,json,asp.net-mvc,Javascript,Jquery,Json,Asp.net Mvc,我想将API返回的json数据绑定到dropdownlist。 但无法获取值id和名称。 Json格式: { "categories": [ { "categories": { "id": 1, "name": "CatOne" } }, { "categories": { "id": 2,

我想将API返回的json数据绑定到dropdownlist。 但无法获取值id和名称。 Json格式:

{
    "categories": [
        {
            "categories": {
            "id": 1,
            "name": "CatOne"
            }
        },
        {
            "categories": {
                "id": 2,
                "name": "CatTwo"
            }
        }
    ]
}
我返回JsonResult,使用

return Json(responseData, JsonRequestBehavior.AllowGet);
在Jquery调用中,我使用

$.ajax({
    type: "POST",
    url: "/Home/City",
    contentType: "application/json; charset=utf-8",
    global: false,
    async: false,
    dataType: "json",
    success: function (jsonObj) {
        var listItems = "";
        //here I want to get id and name
    });
    }
});

您可以从
json
中填充下拉列表,如下所示

var json={
“类别”:[
{“类别”:{“id”:1,“名称”:“CatOne”},
{“类别”:{“id”:2,“名称”:“CatTwo”}
]
}
$.each(json.categories,函数(){
$('select').append(“”+this.categories.name+“”)
})

您可以在成功回调中插入断点(或
调试器;
语句)。然后,您可以检查您的
jsonObj
,它将准确地告诉您需要知道的内容

在这种情况下,您应该能够迭代
jsonObject.categories
,您的id和名称属性将通过
jsonObject.categories[i].categories.id
jsonObject.categories[i].categories.name访问

因此,您的成功方法如下所示:

对于(var i=0;i


我还建议您使用不同的json格式,正如其他答案所建议的那样。

您的json应该是
[{id:1,name:“CatOne”},{id:2,name:“CatTwo”}]
,然后您可以使用一个简单的循环。