由于这个功能,我得到了一个JSON列表:
$(document).ready(function () {
var idContact = @ViewData["IdPhysique"];
var Url = "/Accueil/DonneListeFonctionContact";
$.getJSON(Url, { IdContact: idContact }, function (data) {
});
});
我得到了这个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);
});
但Google开发工具中出现错误:
未捕获的SyntaxError:意外的令牌o
还有其他办法吗?
答案 0 :(得分: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"}, ...
答案 1 :(得分:0)
它已经是一个数组,因为你把它作为JSON。你不需要JSON.parse它!