json2.js的初步学习与了解_json
json2.js的初步学习与了解
1.)该js的下载地址是:http://www.json.org/json2.js
2.)在页面中引用该脚本:
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 '
声明的json格式文本 ' jsontext '
声明的普通格式文本 ' normalstring '
');
结果如下:
转换后的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"%>
<script> <br>var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]'; <br>var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]'; <br>var myJSONObject = {"bindings": [ <br>{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"}, <br>{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"}, <br>{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"} <br>] <br>}; <br>//调用eval函数转换为json对象, <br>var myE = eval(normalstring); <br>//将json对象转换为字符串 <br>var text = JSON.stringify(myE); <br>//对比转换后的json文本与声明的文本区别 <br>document.writeln('转换后的json文本:' text '<br><br>声明的json格式文本 ' jsontext '<br><br>声明的普通格式文本 ' normalstring '<br><br>'); <br>//JSON解析 <br>var myData = JSON.parse(jsontext); <br></script>
4.)示例演示二:
//下面是对json对象的增删查改操作
<%@ page language="java" pageEncoding="UTF-8"%>
<script> <br>//声明json对象 <br>var jsonObj2={persons:[ <br>{name:"jordan",sex:"m",age:"40"}, <br>{name:"bryant",sex:"m",age:"28"}, <br>{name:"McGrady",sex:"m",age:"27"} <br>]}; <br>var persons=jsonObj2.persons; <br>var str=""; <br>var person={name:"yaoMing",sex:"m",age:"26"}; <br>//以下为json对象的操作,去掉注释可以查看操作结果 <br>jsonObj2.persons.push(person);//数组最后加一条记录 <br>jsonObj2.persons.pop();//删除最后一项 <br>jsonObj2.persons.shift();//删除第一项 <br>jsonObj2.persons.unshift(person);//数组最前面加一条记录 只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除 <br>jsonObj2.persons.splice(0,2);//开始位置,删除个数 <br>//替换不删除 <br>var self={name:"tom",sex:"m",age:"24"}; <br>var brother={name:"Mike",sex:"m",age:"29"}; <br>jsonObj2.persons.splice(1,0,self,brother,self);//开始位置,删除个数,插入对象 <br>//替换并删除 <br>jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象 <br>for(var i=0;i<persons.length;i ){ <br>var cur_person=persons[i]; <br>str =cur_person.name "'sex is " cur_person.sex " and age is " cur_person.age "<br><br>"; <br>} <br>document.writeln(str); <br>//转换为json文本 <br>var myjsonobj = JSON.stringify(jsonObj2); <br>document.writeln(myjsonobj); <br>document.writeln(persons.length); <br></script>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

10款趣味横生的jQuery游戏插件,让您的网站更具吸引力,提升用户粘性!虽然Flash仍然是开发休闲网页游戏的最佳软件,但jQuery也能创造出令人惊喜的效果,虽然无法与纯动作Flash游戏媲美,但在某些情况下,您也能在浏览器中获得意想不到的乐趣。 jQuery井字棋游戏 游戏编程的“Hello world”,现在有了jQuery版本。 源码 jQuery疯狂填词游戏 这是一个填空游戏,由于不知道单词的上下文,可能会产生一些古怪的结果。 源码 jQuery扫雷游戏

本教程演示了创建通过Ajax加载的动态页面框,从而可以即时刷新,而无需全页重新加载。 它利用jQuery和JavaScript。将其视为自定义的Facebook式内容框加载程序。 关键概念: Ajax和JQuery

此JavaScript库利用窗口。名称属性可以管理会话数据,而无需依赖cookie。 它为浏览器中存储和检索会话变量提供了强大的解决方案。 库提供了三种核心方法:会话

本教程演示了如何使用jQuery创建迷人的视差背景效果。 我们将构建一个带有分层图像的标题横幅,从而创造出令人惊叹的视觉深度。 更新的插件可与JQuery 1.6.4及更高版本一起使用。 下载
