var list=[
{
id:1,
name:"张三",
age:12
},
{
id:2,
name:"李四",
age:21
},
{
id:3,
name:"王五",
age:31
}
]
这个json数组有三个对象,每个对象有三个属性,id,name,age
//增操作,增加一个叫小胖的人
var obj={
id:4,
name:"小胖",
age:3
}
//push方法可以向数组进行增加操作
list.push(obj)
//console.log会在浏览器f12时在控制太看到,建议用谷歌浏览器
console.log(obj)
//删操作,删除刚刚叫小胖的人
//delnum用来记录要删除的人的索引
var delnum=-1
//用$.each进行循环,function里面的i,item是数组里每个对象的索引和具体对象,可以打印查看,方便理解
$.each(list,function(i,item){
console.log(i)
console.log(item)
if(item.name=="小胖"){
delnum=i
}
})
//splice方法表示从数组从索引delnum开始,删除1个对象
list.splice(delnum,1)
//打印一下
console.log(list)
//改操作,修改所有人大于20岁的人,姓名前加一个“大”
//也是用$.each
$.each(list,function(i,item){
if(item.age>20){
item.name="大"+item.name
}
})
//查操作,其实已经贯穿在上面了,查询所有大于20岁的人并打印出来
//用newlist记录查询的结果
var newlist=[]
//也是用$.each
$.each(list,function(i,item){
if(item.age>20){
//这一步不理解的,可以去看前面的增操作
newlist.push(item)
}
})
//打印查询结果,会有姓名为李四和王五的数据出来(因为已经做了改操作,其实应该是“大李四”和“大王五”)
console.log(newlist)
手敲得代码
给你个肯定的回答:是可以的,因为JSON可以理解为js脚本。
例子如下:
var myjson={a:"1",b:true,aarray:[1,2,3,4]}// 构建一个JSONmyjson.a='修改a'/*修改属性*/alert(myjson)
myjson.d='新增d'/*新增属性*/alert(myjson)
var myjsonStr=JSON.stringify(myjson)// 将myjson转为字符串
alert(myjsonStr)
var newjson=eval("(" + myjsonStr+ ")")// 把字符串转换为JSON对象
注意在低版本的浏览器上是没有内置的JSON对象的,此时需要一个JSON2.js文件,从附件中下载即可。使用JSON2的方法如下:
// 检查JSON对象是否正确if (typeof JSON != 'object') {// 浏览器没有自带JSON相关的函数
JSON = require('JSON2')// 使用seajs加载JSON2.js,也可考虑其他动态方式
}