Json以未定义的形式返回,用文本替换undefined

时间:2018-06-12 23:08:51

标签: javascript json

第一次处理json,所以不太确定.. 当用户在线时api返回

user example
live    true
viewers 22
passwordProtected   false
banned  false

但是当我离线时#34;观众"被删除。 所以data.viewers以未定义的形式返回,如何将其更改为例如离线?

脚本:

<script>
$.getJSON('https://example.com/api/example', function(data) {

    var text = `${data.viewers}`


    $(".mypanel").html(text);
});

</script> 

2 个答案:

答案 0 :(得分:0)

您可以使用hasOwnProperty功能。

var text = "offline";
if(data.hasOwnProperty('viewers'){
  text = data.viewers;
}

答案 1 :(得分:0)

您可以像这样检查未定义:

var text = "offline";
if (data.length && data.viewers !== undefined) {
    var text = data.viewers;
}

或使用三元运算符:

var text = (data.viewers !== undefined) ? data.viewers : "offline";

聚苯乙烯。保存变量时无需插值。即`$ {data.viewers}` 将变量添加到字符串值(如html)时使用。