0

对此进行了搜索,但没有任何结果。

我目前正在浏览 JSON.net 库示例并从中制作真实场景。我正在努力解决的一件事是当我有未知数量的结果时循环遍历 JSON 响应。

我知道如果我有一个结果,例如,我可以通过将解析的 JSON 对象包装在方括号中来创建一个单项数组。

$.each([res], function (key, value) {
    //code here
});

如果我有多个对象,则不要包装对象。

如何使每次调用都足够灵活以处理这两种情况?

在此先感谢,布雷特

4

1 回答 1

0

如果您真的想这样做,您可以对您的“res”变量进行类型检查,如果不是,则仅包装它。这不是真正性感的代码,请确保将其注释为遗留代码,如果不将其包装在 isArray() 函数或其他东西中:)

$.each((Object.prototype.toString.call(res) === '[object Array]') ? res : [res], function (key, value) {
    //code here
});

编辑:正如@Klaasman 指出的,您可以使用jQuery 的 isArray() 函数。所以它变成

$.each($.isArray(res) ? res : [res], function (key, value) {
    //code here
});
于 2013-05-07T15:32:05.600 回答