$(document).ready(function() {
$.getJSON("https://v4p4sz5ijk.execute-api.us-east-1.amazonaws.com/anbdata/states/notams/notams-list?format=json&api_key=90824210-70a2-11ea-9997-6943540cb84c&locations=opla", function(data) {
//opst at the end of url points to an empty json file []. If opst is changed to opla then it points to a json file with data.
$.each(data, function(key, value) {
var obj = value.Subject;
if ($('obj').val() === '') {
console.log("empty"); // with opst (json file with no data) this is expected but it is not shown.
} else {
console.log("not empty"); // with opla (json file with data) this is expected and it is shown correctly as expected.
}
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Попытка проверить содержимое в файле json. Если в файле json есть данные, то console.log отображает «не пустой», но если в файле json нет данных (т. Е. Он содержит только []), console.log не отображает «пустой». Код:
$(document).ready(function(){
$.getJSON("url/test.json",function(data) {
$.each(data, function(key,value) {
var obj = value.Subject;
// OPTION 1
if(obj=="") {
console.log("empty"); //This does not work
}
else {
console.log("not empty"); //This works
}
});
});
});
Другие варианты, которые я пробовал:
// OPTION 2
if ($('obj').val() === '') {
console.log("empty"); //This does not work
} else {
console.log("not empty"); //This works
}
// OPTION 3
if(Object.keys(obj).length === 0 && obj.constructor === Object){
console.log("empty"); //This does not work
} else {
console.log("not empty"); //This works
}
Но результат тот же. Похоже, я делаю одну и ту же ошибку во всех случаях. Нужна помощь в выявлении ошибки. Спасибо.