you can do it like this:
<script language="javascript" type="text/javascript">

    var testJson = {"c1":"cc1", "c2":"cc2","c3": "cc344"};
    function getJsonLength(json)
    {
        var cc = 0;
        for(var i in testJson)
        {
            cc++;
        }
        return cc;
    }
    alert("length=" + getJsonLength(testJson));
</script>

解决方案 »

  1.   

    需求不是很明确,究竟哪些能算到元素的个数比如
    var o = {a:1, b:2}
    这样很明确,元素个数是2但是
    var o = {a:1, b:{ b1:1, b2:2 } }
    这样是算3个还是4个?还有
    var o = {a:1, b:{ b1:1, b2:[1,2] }}
    数组中的个数算进来吗?给个思路吧,具体什么地方加可以自己定
    function getElementNumber(a) {
    var i = 0;
    for (p in a) {
    if (typeof a[p] == 'object') {
    i += getElementNumber(a[p]);
    } else {
    i++;
    }
    }
    return i;
    }
      

  2.   

    说的太模糊,究竟是要所有元素的个数还是直属子元素的个数?
    所有元素的个数在转换成json之前用正则计算下:的个数就可以了
      

  3.   

    先谢谢上面各位热心的帮助~~~~我说的元素的个数是指JSON中的“键/值”为一个元素~~~
      

  4.   

    json 有两种形式,一个是对象形式,一个是数组形式
    你可以使用数组形式。
    像这样
       var testJson = [{ "c1": "cc1" }, { "c2": "cc2" }, { "c3": "cc344"}];
        alert(testJson.length);
    就可以了
      

  5.   

    for in.用这语句多写几次就很熟了。