jquery检查json变量是否存在

发布于 11-09 11:46 字数 375 浏览 1 评论 0原文

如何使用 jquery 检查 getJSON 之后生成的 json 中是否存在键/值?

function myPush(){
    $.getJSON("client.php?action=listen",function(d){
        d.chat_msg = d.chat_msg.replace(/\\\"/g, "\"");
        $('#display').prepend(d.chat_msg+'<br />');
        if(d.failed != 'true'){ myPush(); }
    });
}

基本上我需要一种方法来查看 d.failed 是否存在,如果它=“true”,则不要继续循环推送。

How can I with jquery check to see if a key/value exist in the resulting json after a getJSON?

function myPush(){
    $.getJSON("client.php?action=listen",function(d){
        d.chat_msg = d.chat_msg.replace(/\\\"/g, "\"");
        $('#display').prepend(d.chat_msg+'<br />');
        if(d.failed != 'true'){ myPush(); }
    });
}

Basically I need a way to see if d.failed exist and if it = 'true' then do not continue looping pushes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

淡莣2024-11-16 11:46:08

为此,您不需要 jQuery,只需要 JavaScript。您可以通过几种方式做到这一点:

  • typeof d.failed- 返回类型('undefined'、'Number' 等)
  • d.hasOwnProperty('failed')-以防万一它
  • 在 d 中继承了“failed” - 检查它是否曾经设置过(甚至未定义)

您还可以检查 d.failed: if (d.failed),但如果 d.failed 未定义、null、false 或零,则返回 false。为了简单起见,为什么不这样做 if (d.failed === 'true') 呢?为什么要检查它是否存在?如果为真,则返回或设置某种布尔值。

参考:

http://www. nczonline.net/blog/2010/07/27/确定-if-an-object-property-exists/

You don't need jQuery for this, just JavaScript. You can do it a few ways:

  • typeof d.failed- returns the type ('undefined', 'Number', etc)
  • d.hasOwnProperty('failed')- just in case it's inherited
  • 'failed' in d- check if it was ever set (even to undefined)

You can also do a check on d.failed: if (d.failed), but this will return false if d.failed is undefined, null, false, or zero. To keep it simple, why not do if (d.failed === 'true')? Why check if it exists? If it's true, just return or set some kind of boolean.

Reference:

http://www.nczonline.net/blog/2010/07/27/determining-if-an-object-property-exists/

此刻的回忆2024-11-16 11:46:08

昨天发现这个。 JSON 类似 CSS 选择器

http://jsonselect.org/

Found this yesterday. CSS like selectors for JSON

http://jsonselect.org/

躲猫猫2024-11-16 11:46:08

您可以使用 JavaScript 习惯用法来表示 if 语句,如下所示:

if (d.failed) {
    // code in here will execute if not undefined or null
}

就这么简单。在你的情况下,它应该是:

if (d.failed && d.failed != 'true') {
    myPush();
}

具有讽刺意味的是,这读作“如果 d.failed 存在并设置为'true'”,正如OP在问题中所写的那样。

You can use a javascript idiom for if-statements like this:

if (d.failed) {
    // code in here will execute if not undefined or null
}

Simple as that. In your case it should be:

if (d.failed && d.failed != 'true') {
    myPush();
}

Ironically this reads out as "if d.failed exists and is set to 'true'" as the OP wrote in the question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文