当前位置:  开发笔记 > 编程语言 > 正文

如何使用JQuery获取总Json记录数?

如何解决《如何使用JQuery获取总Json记录数?》经验,为你挑选了3个好方法。

我找不到任何关于使用jQuery获取总JSON记录数的信息.

这是返回的JSON:

{"Email":"Please enter your Email.","Password":"Please enter a password."}

这是我的代码:

$(function() {
    $("#btnSubmit").click(function() {
        $.ajax({
            url: "/account/signup",
            type: "POST",
            dataType: "json",
            data: { 
                Email: $("#strEmail").val(),
                Password: $("#strPassword").val()
            },
            success: function(j) {
                    $(".errMsg").hide();
                    alert(j.length); // I couldn't get the total count
                $.each(j, function(n) {
                    $("#err" + n).html(j[n]);
                    $("#err" + n).show();
                })

            },
            error: function(req, status, error) {
                alert(req);
            }
        });
    });
});

Tiago.. 68

如果您有这样的事情:

var json = [ {a:b, c:d}, {e:f, g:h, ...}, {..}, ... ]

那么,你可以这样做:

alert(json.length)

这显示了JSON字符串长度,而不是数组计数 (5认同)

谢谢你的回答,但我尝试了你的代码,但我不适合我. (2认同)

谢谢@tiago!你最终给了我我的解决方案,如下:`success:function(response){console.log(response.length); }` (2认同)


TimH.. 15

OP正在尝试计算JSON对象中的属性数.这可以通过迭代器中递增的临时变量来完成,但他似乎想在迭代开始之前知道计数.本页底部提供了满足需求的简单功能.

这是代码的剪切和粘贴,对我有用:

function countProperties(obj) {
  var prop;
  var propCount = 0;

  for (prop in obj) {
    propCount++;
  }
  return propCount;
}

这应该适用于JSON对象.对于可能从其原型链派生属性的其他对象,您需要添加hasOwnProperty()测试.



1> Tiago..:

如果您有这样的事情:

var json = [ {a:b, c:d}, {e:f, g:h, ...}, {..}, ... ]

那么,你可以这样做:

alert(json.length)


这显示了JSON字符串长度,而不是数组计数
谢谢你的回答,但我尝试了你的代码,但我不适合我.
谢谢@tiago!你最终给了我我的解决方案,如下:`success:function(response){console.log(response.length); }`

2> TimH..:

OP正在尝试计算JSON对象中的属性数.这可以通过迭代器中递增的临时变量来完成,但他似乎想在迭代开始之前知道计数.本页底部提供了满足需求的简单功能.

这是代码的剪切和粘贴,对我有用:

function countProperties(obj) {
  var prop;
  var propCount = 0;

  for (prop in obj) {
    propCount++;
  }
  return propCount;
}

这应该适用于JSON对象.对于可能从其原型链派生属性的其他对象,您需要添加hasOwnProperty()测试.



3> svinto..:

在这种情况下,你为什么要长度?

如果您确实要检查长度,请让服务器返回一个带有键值对的JSON数组,如下所示:

[
  {key:value},
  {key:value}
]

在JSON中,[和]表示一个数组(具有length属性),{和}表示一个对象(没有length属性).您可以遍历对象的成员,但是您也将获得函数,对成员数量进行长度检查,除了迭代它们之外没用.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有