笔者在写web前端代码的时候使用到了json数据格式,但是发现javascript里面没有自带的获取json数据长度的函数,经过网上查询,写了两个获取json数据长度的函数,如下:
1、第一种json数据总长度
<!DOCTYPE html>
<html lang="zh-CN">
<head>
</head>
<body>
<div ></div>
<script>
var jsonstring=[{"longitude":"106","latitude":"29"},{"longitude":"107","latitude":"30"},{"longitude":"108","latitude":"31"}];
var length1=getJsonLength1(jsonstring);
console.log("length1的值为"+length1);
function getJsonLength1(jsondata)//获取json数据长度的函数
{
for(var i=0;;i+=1)
{
if(jsondata[i])
{
;
}
else
{
console.log("json数据长度为:"+i)
return i;
}
};
}
var length2=getJsonLength2(jsonstring);
console.log("length2的值为"+length2);
function getJsonLength2(jsonData) {
var length=0;
for(var ever in jsonData) {
length++;
}
return length;
}
</script>
</body>
</html>
运行结果:
2、第二种json数据内部元素的长度
<!DOCTYPE html>
<html lang="zh-CN">
<head>
</head>
<body>
<div ></div>
<script>
//简单json格式
var jsonstring=[{"longitude":"106","latitude":"29"},{"longitude":"107","latitude":"30"},{"longitude":"108","latitude":"31"}];
var length1=getJsonLength1(jsonstring);
console.log("length1的值为"+length1);
function getJsonLength1(jsondata)//获取json数据长度的函数
{
for(var i=0;;i+=1)
{
if(jsondata[i])
{
;
}
else
{
console.log("json数据长度为:"+i)
return i;
}
};
}
var length2=getJsonLength2(jsonstring);
console.log("length2的值为"+length2);
function getJsonLength2(jsonData) {
var length=0;
for(var ever in jsonData) {
length++;
}
return length;
}
//复杂json格式
var test=[{
"information": {
"man": [
{
"id": 1,
"name": "LWE"
},
{
"id": 2,
"name": "XER"
}
],
"woman":[
{
"id": 3,
"name": "ERT"
},
{
"id": 4,
"name": "XGH"
},
{
"id": 5,
"name": "TWC"
}
]
},
"city":"XIAN"
}];
var number1=getJsonLength1(test[0].information.man);
var number2=getJsonLength2(test[0].information.woman);
console.log("number1值是"+number1);
console.log("number2的值是"+number2);
console.log(test[0].information.man[0]);
</script>
</body>
</html>
运行结果: