簡體   English   中英

檢查json Javascript / Jquery中是否存在數組

[英]Check if array exists in json Javascript/Jquery

我有來自twitter API的json文件。 有時它確實具有media [0]數組,有時則沒有。 如果是這樣,我想將數組添加到另一個數組中,以便提醒它,否則我希望它檢查下一個數組。

這是我嘗試過的方法,但是還不能正常工作。

if(twitter.statuses[key].entities.media[0].media_url!=="Uncaught TypeError: Cannot read property '0' of undefined"){
    console.log(twitter.statuses[key].entities.media[0].media_url);
} 

它一直在給出錯誤:Uncaught TypeError:如果介質數組不存在,則無法讀取未定義的屬性“ 0”,否則它將正常工作並繼續下去。

有人知道如何解決這個問題嗎?

感謝您的幫助!

之所以收到錯誤,是因為您想要檢索...的第一個元素……什么都沒有(twitter.statuses [key] .entities.media [0];媒體已經為null,並且您無法訪問null的第一個元素)

嘗試檢查

if (typeof twitter.statuses[key].entities.media != "undefined") {
    ...

未定義的屬性具有undefined類型和值,您可以像這樣檢查它:

if (twitter.statuses[key].entities.media !== undefined) {
    // ...
}

或像這樣:

if (typeof twitter.statuses[key].entities.media !== "undefined") {
    // ...
}

我建議您始終初始化變量以檢查null或未定義的值。 在您的情況下:

var media0 = twitter.statuses[key].entities.media[0] || null;
if(media0 != null){
    if(media0.media_url != null)
       console.log(twitter.statuses[key].entities.media[0].media_url);
    else
       console.log('twitter.statuses[key].entities.media[0].media_url is null or not defined');
}
else
    console.log('twitter.statuses[key].entities.media[0] is null or not defined');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM