簡體   English   中英

字符串為空時如何處理JSON.stringify

[英]how to handle JSON.stringify when string is empty

我正在嘗試處理數組中不存在的對象。

 var departureGate = JSON.stringify(data.flightStatuses[i].airportResources.departureGate);

因此,當javascript代碼到達此處時,它就會崩潰,因為它嘗試解析的實際字符串中沒有任何東西。 我嘗試用“ typeof”捕獲它,但這也不起作用。 我很沮喪

因此,存在data.flightStatuses [i]數組,但不存在.airportResources.departureGate。

我嘗試使用“ typeof data.flightStatuses [i] .airportResources.departureGate”查看其是否存在。 它仍然跌倒。

alert (typeof data.flightStatuses[i])  // this comes back "object"
    alert (typeof data.flightStatuses[i].airportResources.departureGate)  // it dies...

應該是這樣的:

if (data.flightStatuses[i].airportResources.departureGate) {
   var departureGate = JSON.stringify(data.flightStatuses[i].airportResources.departureGate);
}

看來您的問題出在airportResources ,而不是departureGate airportResources

嘗試這個:

var departureGate = null,
    ar = data.flightStatuses[i].airportResources;
if(ar && 'departureGate' in ar){
    departureGate = JSON.stringify(ar.departureGate);
}

干杯

您可以像這樣檢查是否將登機口定義為一個屬性,然后執行所需的操作,例如:

if(data.flightStatuses[i].airportResources.hasOwnProperty('departureGate') {
    var departureGate = JSON.stringify(data.flightStatuses[i].airportResources.departureGate);
} else {
    var departuregate = null; // for example
}

此處的更多信息: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty

暫無
暫無

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

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