博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json的增删改查
阅读量:6422 次
发布时间:2019-06-23

本文共 2582 字,大约阅读时间需要 8 分钟。

json的增删改查(2012-05-03 22:38:36)

<script type="text/javascript" src="json2.js"></script>

<script>

//直接声明json数据结构

var myJSONObject = {"bindings": [

{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},

{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},

{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}

]

};

//声明字符串,可对比一下json文本与我们正常文本的区别

var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';

var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';


//调用eval函数转换为json对象,

var myE = eval_r(normalstring);

document.writeln(myE+'<br><br>');

//将json对象转换为字符串

var text = JSON.stringify(myE);

//对比转换后的json文本与声明的文本区别

document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');


//当安全比较重要的时候使用JSON解析就好一些。JSON解析只会识别JSON文本并且它更安全,下面调用json的parse函数对文本数据转换生成json数据结构

var myData = JSON.parse(jsontext);


document.writeln(myData+'<br><br>');


//下面是对json对象的增删查改操作


//声明json对象


var jsonObj2={persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]};


var persons=jsonObj2.persons;

var str="";


var person={name:"yaoMing",sex:"m",age:"26"};

//以下为json对象的操作,去掉注释可以查看操作结果

//jsonObj2.persons.push(person);//数组最后加一条记录

//jsonObj2.persons.pop();//删除最后一项

//jsonObj2.persons.shift();//删除第一项

jsonObj2.persons.unshift(person);//数组最前面加一条记录只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除

//jsonObj2.persons.splice(0,2);//开始位置,删除个数

//替换不删除

var self={name:"tom",sex:"m",age:"24"};

var brother={name:"Mike",sex:"m",age:"29"};

jsonObj2.persons.splice(1,0,self,brother,self);//开始位置,删除个数,插入对象

//替换并删除

//jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象


for(var i=0;i<persons.length;i++){ var cur_person=persons[i]; str+=cur_person.name+"'sex is "+cur_person.sex+" and age is "+cur_person.age+"<br><br>"; }

document.writeln(str);

//转换为json文本

var myjsonobj = JSON.stringify(jsonObj2);

document.writeln(myjsonobj);

</script>
 

<script type="text/javascript">

Array.prototype.clear = function() {
this.length = 0;
}
Array.prototype.insertAt = function(index, obj) {
this.splice(index, 0, obj);
}
Array.prototype.remove = function(index) {
this.splice(index, 1);
}

var t = [{ 'a': {'c':22}, 'b': 2 }, { 'a': 2}];
t.push({ 'a': 3 }); //增
//t[0].a = 11; //改
//t.remove(0); //删
alert(t[0].a.c);
</script>

转载于:https://www.cnblogs.com/tabcdt/archive/2012/11/14/2769500.html

你可能感兴趣的文章
32个c语言关键字发音,C语言的32个关键字(读音、用法、注释)转来的,给刚接触C的...
查看>>
为煮酒新书《构建高可用Linux服务器》作序!
查看>>
Windows Azure中文博客 Windows Azure入门教学系列 (一): 创建第一个WebRole程序
查看>>
Linux学习之CentOS(四)----Linux各目录的介绍
查看>>
MySQL 跳过同步错误方法
查看>>
MySQL 清理slowlog方法
查看>>
HTTP深入浅出 http请求
查看>>
为YUM设置代理的方法
查看>>
Java 编程的动态性 第1 部分: 类和类装入--转载
查看>>
再谈ABC
查看>>
【转】持久化消息队列之MEMCACHEQ
查看>>
java-Mail
查看>>
Dom4j学习笔记
查看>>
C语言 HTTP上传文件-利用libcurl库上传文件
查看>>
[MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
查看>>
调试逆向分为动态分析技术和静态分析技术(转)
查看>>
Android webview使用详解
查看>>
业务对象和BAPI
查看>>
程序源系统与当前系统不一致:Carry out repairs in non-original systems only if urgent
查看>>
微软职位内部推荐-Senior Software Engineer
查看>>