计算对象的键/属性数的最快方法是什么?它可以在不迭代对象的情况下完成此操作吗?即没有做
var count = 0;
for (k in myobj) if (myobj.hasOwnProperty(k)) count++;
(Firefox确实提供了一个神奇的__count__属性,但是在版本4的某个地方删除了它.)
我有一个像这样的对象作为来自服务器的JSON响应返回:
{"0":"1","1":"2","2":"3","3":"4"}
我想将它转换为像这样的JavaScript数组:
["1","2","3","4"]
有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用循环来使用复杂的逻辑.那么有没有其他方法来做到这一点?
我需要将JSON对象字符串转换为JavaScript数组.
这是我的JSON对象:
{"2013-01-21":1,"2013-01-22":7}
我希望:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
    ['2013-01-21', 1],
    ['2013-01-22', 7]
]);
我怎样才能做到这一点?
我在下面的EJS中有代码,
<script>
    var row =<%-JSON.stringify(data)%>
    console.log(row);
</script>
<% for(var i=0; i<JSON.stringify(data).length; i++) {%>
   <tr>
     <td>
       <%= JSON.stringify(data)[i].id%>
     </td>
   </tr>
<% } %>
行的输出是正确的,一个包含3个对象的数组,每个对象都有属性id,名称等.我可以操作行来在JS中弹出表.但是,我想知道是否有办法让它以上述方式完成?
当我运行上面的代码时,JSON.stringify(data).length不是3,而是整个字符串的长度.
另一个问题是当我尝试添加时
<%alert('t'); %>或<%window.alert('t'); %>,它给了我'未定义'的错误......
帮助赞赏.
关心锤子
我有从php文件返回的json对象,json值如下
    {
  "0": {
    "id": "35",
    "name": "first name",
    "date": "2014-03-03",
    "age": "25"
  },
  "1": {
    "id": "36",
    "name": "name",
    "date": "0000-00-00",
    "age": "25"
  },
  "2": {
    "id": "37",
    "name": "myname",
    "date": "0000-00-00",
    "age": "25"
  },
  "average_age": 25,
  "count": 3
}
我如何得到除了average_age和count之外的值的数量,这个值是给定的json对象我希望在jQuery中得到3作为长度
我是javascript新手,我想计算此json字符串的值:
{
    "files": [
        {
            "name": "doc1.pdf",
            "title": "networking",
            "path": "mfpreader.comze.com\/files\/doc1.pdf"
        },
        {
            "name": "doc2.pdf",
            "title": "Armoogum",
            "path": "mfpreader.comze.com\/files\/doc2.pdf"
        }
    ]
}
json保存在res.responseJSON.data中。
这是我尝试的代码:
$("#demo").html(JSON.stringify(res.responseJSON.data));
var jsonObject = JSON.parse(res.responseJSON.data);
var propertyNames = Object.keys(jsonObject);
alert("There are "+propertyNames.length+" properties in the object");
get的值为1。由于我们有2个文档,因此应该为2。
请给我一些。谢谢
我有以下Json结果:
(取自控制台)
data
Object {0: Object, 1: Object, 2: Object, 3: Object, 4: Object, 5: Object, 7: Object}
如果我在控制台中data[0]获得以下结果:
Object {id: 125, Module_id: 2, academy_id: 7, Team_id: 5, end: "2014-08-12 00:00:00"…}
然而,当我这样做data.length的价值是undefined谁可以告诉我发生了什么?
我正在尝试计算$ .ajax调用中的结果数.
    $.ajax({
        'async': true,
        'crossDomain': true,
        'url': 'XXX',
        'method': 'GET',
        'headers': {
            'key': 'XXX',
            'scope': 'XXX',
            'content-type': 'application/json',
            'cache-control': 'no-cache'
        },
        'processData': false,
        'data': {},
        error: function(jqXHR, textStatus, errorThrown) {
            // Default error
            log('error');
        },
        success: function(data, textStatus, jqXHR) {
            log('success');
            log(data);
            var ArrayContent = data.length;
            log(ArrayContent)
        }
    }).done(function(response) {
        log('done');
    });
我的jSon回复是 Object {3858: Object, 4667: Object, 4668: Object, 4680: Object, 4710: Object}3858: Object4667: Object4668: Object4680: Object4710: Object__proto__: Object
我已经尝试了在这个网站上找到的几个解决方案,但我不能让它们中的任何一个工作.
任何有关解决方案的建议都将非常感谢.
-C
javascript ×5
json ×5
jquery ×4
ajax ×2
arrays ×1
count ×1
ejs ×1
key ×1
node.js ×1
performance ×1
properties ×1