Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Json返回为未定义,将未定义替换为文本_Javascript_Json - Fatal编程技术网

Javascript Json返回为未定义,将未定义替换为文本

Javascript Json返回为未定义,将未定义替换为文本,javascript,json,Javascript,Json,第一次处理json,所以不太确定。。 当用户联机时,api返回 user example live true viewers 22 passwordProtected false banned false 但当我离线时,“浏览者”会被删除。 因此data.viewers返回为未定义,如何将其更改为脱机 脚本: <script> $.getJSON('https://example.com/api/example', function(data) { var t

第一次处理json,所以不太确定。。 当用户联机时,api返回

user example
live    true
viewers 22
passwordProtected   false
banned  false
但当我离线时,“浏览者”会被删除。 因此data.viewers返回为未定义,如何将其更改为脱机

脚本:

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

    var text = `${data.viewers}`


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

</script> 

$.getJSON('https://example.com/api/example,函数(数据){
var text=`${data.viewers}`
$(“.mypanel”).html(文本);
});
您可以使用该功能

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

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

var text = "offline";
if (data.length && data.viewers !== undefined) {
    var text = data.viewers;
}
或使用三元运算符:

var text = (data.viewers !== undefined) ? data.viewers : "offline";
Ps.保存变量时无需插值。ie`${data.viewers}`
将变量添加到字符串值(如html)时使用此选项。

data.viewers | |“offline”
?模板文字可能仍然有用。它会将
data.viewers
强制为字符串,并将其分配给
text
。如果
text
false
$(“.mypanel”).html(text)
将导致
$(“.mypanel”)
为空。字符串可以正常工作。通过这种方式将数据强制为字符串是很有用的。谢谢你的提示,但我不确定将
false
作为字符串发送到浏览器通常是这里需要的。无论哪种方式,您上面评论中的
|
语句都是最干净的。