0

由于这个功能,我得到了一个 JSON 列表:

$(document).ready(function () { 
        var idContact = @ViewData["IdPhysique"];
        var Url = "/Accueil/DonneListeFonctionContact";
        $.getJSON(Url, { IdContact: idContact }, function (data) {  

        });

});

我得到了这个 JSON:

json截图

现在我想将该 JSON 解析为一个数组,所以我这样做了:

$(document).ready(function () { 
        var idContact = @ViewData["IdPhysique"];
        var Url = "/Accueil/DonneListeFonctionContact";
        var data = $.getJSON(Url, { IdContact: idContact }, function (data) {  

        });
        var array = JSON.parse(data);
});

但是谷歌开发工具出现错误:

Uncaught SyntaxError: Unexpected token o

还有其他方法吗?

4

2 回答 2

4

您不必解析它,因为 jQuery 会为您完成并在参数中将其传递给您的回调函数data$.getJSON()返回JSON。所以:

 $(document).ready(function () { 
    var idContact = @ViewData["IdPhysique"];
    var Url = "/Accueil/DonneListeFonctionContact";
    $.getJSON(Url, { IdContact: idContact }, function (data) {  
        // here data is an array because jQuery already parsed the JSON
        // data.length is what you need to test
    });
 });

编辑:您在问题中显示的“JSON”响应也不是有效的 JSON。属性名称必须用双引号括起来,字符串值也必须用双引号括起来,所以应该是:

[{"IdFonction":734, "LibellFonction":"Clercs"}, ...
于 2013-08-06T12:17:10.717 回答
0

它已经是一个数组,因为您将它作为 JSON 获取。你不需要 JSON.parse 它!

于 2013-08-06T12:19:27.973 回答