json2.js的初步学习与了解
1.)该js的下载地址是:http://www.json.org/json2.js
2.)在页面中引用该脚本:<script type="text/javascript" src="js/json2.js"></script>
3.)示例演示一:
复制代码 代码如下:
//直接声明json数据结构
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
这个例子中,创建了一个对象,它只包含一个成员“bindings”。“bindings”是一个包含了3个对象的数组,而这每个对象都有"ircEvent"、"method"和"regex"3个成员。
这些成员可以用“.”或subscript 操作得到。
如:myJSONObject.bindings[0].method // "newURI"
myJSONObject.bindings[1].deleteURI // "newURI"
//声明字符串,可对比一下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()函数调用JavaScript的编译器把JSON文本转变成对象。因为JSON是JavaScript的一个确切的子集,编译器可以正确地解析JSON文本,然后生成一个对象结构。
//调用eval函数转换为json对象,
var myE = eval(normalstring);
//将json对象转换为字符串
var text = JSON.stringify(myE);
//对比转换后的json文本与声明的文本区别
document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');
结果如下:
转换后的json文本:[{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
声明的json格式文本 [{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
声明的普通格式文本 [{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]
小结:转换后的json文本和声明的json格式文本内容是相同的。
//当安全比较重要的时候使用JSON解析就好一些。JSON解析只会识别JSON文本并且它更安全,下面调用json的parse函数对文本数据转换生成json数据结构
var myData = JSON.parse(jsontext);
完整的文件如下(区别:myJSONObject,jsontext,normalstring的不同):
复制代码 代码如下:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="js/json2.js"></script>
</head>
<body>
<script>
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"} ]}]';
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
//调用eval函数转换为json对象,
var myE = eval(normalstring);
//将json对象转换为字符串
var text = JSON.stringify(myE);
//对比转换后的json文本与声明的文本区别
document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');
//JSON解析
var myData = JSON.parse(jsontext);
</script>
</body>
</html>
4.)示例演示二:
复制代码 代码如下:
//下面是对json对象的增删查改操作
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="js/json2.js"></script>
</head>
<body>
<script>
//声明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);
document.writeln(persons.length);
</script>
</body>
</html>
相关推荐:
seo读什么书,seo是哪个专业的 ,亚洲9ai吧
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
seo重点是什么,seo最重要的指标 ,ai网格怎么用
AI智能软件:未来科技的核心力量
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
AI人工智能生成文章:开启写作新时代
SEO就业前景如何?打造数字时代的职业新风口,常州武进区水产网站建设
SEO行销:开启网站流量增长的秘密武器,百威产品关键词查询排名
SEO优化如何进行:提升网站排名,轻松超越竞争对手,ai写作怎么操作手机
360AI写作怎样?助力创作的新风尚,ai到访
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
ChatGPT暂时不可用?如何高效应对并寻找最佳替代方案!,logo ai教程视频
未来写作新模式文章撰写AI如何助力内容创作
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
文章AI扩写:突破创作瓶颈,提升写作效率的秘密武器
ChatGDP人工智能:未来科技赋能企业与个人的智能变革,如何用AI绘制人体
360优化关键词-提升网站流量与排名的秘密武器,美拍ai
产品经理seo是什么,产品经理seo是什么意思 ,ai政府公文写作 软件
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
SEO专业怎么样?未来发展的无限潜力与职业前景,联通ai智能早教
OpenAI智能诊断医疗-开启精准医疗新纪元,跟侯维静学ai
SEO表格:优化网站排名的秘密武器,大数据推广营销费用多少
优化收费,助力企业提升效益,实现共赢,宜州餐饮网站建设
seo能解决什么问题,seo会遇到哪些问题 ,挚爱花嫁ai
SEO大神如何在激烈的互联网竞争中脱颖而出?,网页设计和网站建设试题
AI代谢文章:从灵感到成果的创作革命
用AI写科普文章:科技改变写作的未来
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
ChatGPT网页版内容显示不全的解决方案:如何轻松解决问题?,课件ai
为什么做酒店seo,为什么做酒店 ,ai uehara下载
SEO攻略:搜索引擎优化,快速提升网站排名,网站推广网站优化费用
seo菲律宾是做什么,菲律宾网址排名 ,openl ai
SEO外包:提升网站排名与品牌曝光的最佳选择,大创建设网站
SEO优化关键词品牌:如何通过精准的关键词提升品牌价值,ai免费智能写作论文
SEO找词:如何精准找到高效关键词,提升排名和流量,河源网站优化平台
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
什么是seo平台seo教程,什么是 seoseo有何价值 ,论文写作ai助手公众号
AI缩写文档:革新文档管理与自动化的未来,ai聊天中文
ChatGPT40不收费版本:科技革新,智能助手助力生活与工作,ai医疗武器有哪些
交友群都有哪些,交友群是干什么的 ,ai猫csgo
不利于seo是什么,不属于seo对网店推广的作用 ,ai渐变下载
SEO是什么意思?揭秘SEO的真正含义与重要性,公司推广网站询问d火18星来
ChatGPT回答是空白的背后,究竟隐藏着什么秘密?,如何用ai写作来赚钱
ChatGPT付款被拒?如何应对与解决常见支付问题,掉包ai
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
为什么“搜狗不收录”会成为企业SEO的新挑战?,烤肉店的线下营销与推广
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
未来智能:AI智能人工软件引领数字化变革
ChatGPT的破解版:AI世界的新突破,ai无禁忌