json返回[object Object]而不是实际数据

时间:2013-09-07 23:22:36

标签: json

我在堆栈溢出和其他站点上提到了很多关于解决方案的问题。但到处都有我不完整的答案。一些答案说将json数据记录到控制台。所以我试了一下,然后我正确地得到了json对象。但是当我将它添加到HTML或提醒时它说[object Object]。

这个问题有很多重复,但我仍然不明白问题是什么? 这是我到目前为止的代码

$(document).click(function () {
        $.ajax({
            type: "POST",
            url: "/members/ListOfAllOppositeTypeUsersWithTheirRespectiveData?LoggedInUserOppositeType=2",
            dataType: 'json',
            success: function (json) {
                console.log(json);
                //var strJson = JSON.stringify(json);
                $.each(json, function (key, value) {
                    $('#AllowedFriends').append($('<option value="'+ key + '">' + value + '</option>'));
                });

            },
            error: function () {
                alert("F");
            }
        });
    });

编辑

我在控制台中获得的值:

0: Object
MemberID: 1
Name: "Cipla"

1: Object
MemberID: 2
Name: "Himalaya"

3 个答案:

答案 0 :(得分:1)

你应该尝试类似的东西:

$.each(json, function (index, obj) {
    $('#AllowedFriends').append($('<option value="'+ obj.MemberId + '">' + obj.Name + '</option>'));
});

答案 1 :(得分:0)

一个对象可以包含实际数据,有什么问题?我建议您使用开发人员控制台或Firebug查看浏览器的网络调用,以查看收到的对象。然后jQuery将字符串解析为一个对象,以便您可以使用该数据。

答案 2 :(得分:0)

尝试console.log(eval('('+json+')'));