我有一个json文件,我可以从中返回结果。我遇到的问题是我无法将结果返回到页面上(可以这么说)。我认为这与我无法控制的Json的格式有关,看起来像这样:
[
[
{
"Key": "AddressLine1",
"Value": "Acacia Avenue"
},
{
"Key": "AddressLine2",
"Value": "secondlineofaddress"
},
{
"Key": "City",
"Value": "someCity"
},
{
"Key": "HouseNameOrNumber",
"Value": "2"
},
{
"Key": "Postcode",
"Value": "sdlfkjhsdljkf"
}
]
javascript看起来像这样
$('#addressFinder').click(function (e) {
e.preventDefault();
var value01 = $("#Address_HouseNameOrNumber").val();
var value02 = $("#Address_Postcode").val();
$.ajax({
url: '/addresstomyjSON/AddressSearch',
type: 'POST',
dataType: 'json',
data: {
houseNo: value01,
postCode: value02
},
success: function (data) {
var items = [];
$.each(data, function (key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('#body');
});
});
所以我试图把地址写成一个列表,我得到的结果是当前代码是一个ID为0的单个li标签,然后[object Object]重复5次。我认为这与我如何在成功函数中设置变量有关,但我不确定要使用的正确语法是什么。任何人都可以帮助我吗?
提前致谢
答案 0 :(得分:3)
它是数组中的数组,因此请尝试执行$.each(data[0], ...
修改:更多
$.each(data[0], function () {
items.push('<li id="' + this.Key + '">' + this.Value + '</li>');
});