在JQuery getJSON
调用中,如何判断返回的JSON的长度?
function refreshRoomList() {
$.getJSON('API/list_rooms',
function (rooms) {
if (rooms.length > 0) {
$("#existing-room-list").empty();
$("#join-existing-room").text("Join existing room:"); // this shouldn't be here
$.each(rooms, function (index, roomName) {
var newChild = sprintf('<li><a href="room?key=%s">%s</a></li>', index, roomName);
$("#existing-room-list").append(newChild);
});
}
else {
$("#join-existing-room").text("No rooms found.");
}
});
}
由于某些原因,这不起作用,但如果我将rooms.length > 0
替换为true
,则会打印出完整的会议室列表。
如果rooms
为空,则返回{}
。
答案 0 :(得分:3)
如果房间为空,则返回为{}。
因此,它不是一个数组,而是一个对象。对象没有长度。只有一个。如果您想表示 nothing ,请使用null
代替{}
。这样您就可以使用if (rooms)
。
要了解有关JSON的更多信息,您可能会发现this article很有用。
答案 1 :(得分:0)
请尝试使用此方法,在您的情况下,空白时应为null:
if (rooms) {