我想将API返回的json数据绑定到dropdownlist。 但无法获取值id和名称。 Json格式:
{
"categories": [
{
"categories": {
"id": 1,
"name": "CatOne"
}
},
{
"categories": {
"id": 2,
"name": "CatTwo"
}
}
]
}
我正在使用
返回JsonResultreturn 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
});
}
});
答案 0 :(得分:0)
您可以填写json
下拉菜单中的下拉列表。
var json = {
"categories": [
{ "categories": { "id": 1, "name": "CatOne" } },
{ "categories": { "id": 2, "name": "CatTwo" } }
]
}
$.each(json.categories, function () {
$('select').append('<option value="' + this.categories.id + '">' + this.categories.name + '</option>')
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select></select>
答案 1 :(得分:0)
您可以在成功回调中添加一个断点(或debugger;
语句)。然后你可以检查你的jsonObj
,它会告诉你你需要知道什么。
在这种情况下,您应该能够在jsonObj.categories
上进行迭代,并且可以通过jsonObject.categories[i].categories.id
和jsonObject.categories[i].categories.name
访问您的ID和名称属性
所以你的成功方法看起来像:
for(var i = 0; i < jsonObj.categories.length; i++) {
var category = jsonObj.categories[i].categories;
var id = category.id;
var name = category.name;
}
我还建议以不同的方式格式化你的json,正如其他答案所暗示的那样。