js 删除Josn数据为什么长度和索引都没有改变

如题所述

第1个回答  2015-06-25
json数组长度获取我们其实非常的简单只要像js一样的jsonList.length就可以获取到了,下面来给大家结合介绍一些例子让大家明天json长度获取技巧。

最简单的获取json数据长度方法 jsonList.length

代码如下
复制代码

var str = '[{"username":"刘小飞","BAy":"2010/06/17"},{"username":"离小P","BAy":"2010/06/11"}]';

alert(str.length) 其实它输出的结果长度为2

下面呢,我把Javascript的代码提供出来,为什么只提供Javascript代码呢?因为其它语言都或多或少提供了一些关于JSON的操作,唯独
JavaScript没有提供多少,然后在WEB开发过程中,现在对JQuery的依赖比较多,所以话不多说了,请看代码:

代码如下
复制代码

function getJsonObjLength(jsonObj) {
var Length = 0;
for (var item in jsonObj) {
Length++;
}
return Length;
}

使用办法也很简单,我们假设有个JSON对象是"JsonTemp",具体内容为{["name":"张三","age":18],["name":"李四","age":19]}。我们在使用Javascript进行操作的时候只需要如下进行就可以了:

代码如下
复制代码

var count = getJsonObjLength(JsonTemp);

推展应用,比如需要通过遍历的方式把JSON中的每一个对象读出来,请如下操作:

代码如下
复制代码

for(i=0;i<getJsonObjLength(JsonTemp);i++){
name = JsonTemp[i].name;
age = JsonTemp[i].age;
}

好了,以上就是基本应用

补充

s 中读取JSON的方法探讨

js读取JSON的方法我接触到的有两种:
方法一:函数构造定义法返回

代码如下
复制代码

var strJSON = "{name:'json name'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(obj.name);//json name

方法二:js中著名的eval函数

代码如下
复制代码

var strJSON = "{name:'json name'}";//得到的JSON
var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象
alert(obj.name);//json name

第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则

代码如下
复制代码

var strJSON = "{name:'json name'}";
var obj = eval(strJSON);
alert(obj.constructor);//String 构造函数
alert(obj.name);//undefine本回答被网友采纳
相似回答