当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 简明json介绍

Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
JavaScript 创建随机数和随机图片
javascript document.execCommand() 常用解析
firefox下对ajax的onreadystatechange的支持情况分析
Javascript attachEvent传递参数的办法
jQuery Attributes(属性)的使用(一、属性篇)
jquery自动完成插件(autocomplete)应用之PHP版
查询绑定数据岛的表格中的文本并修改显示方式的js代码
讨论javascript(一)工厂方式 js面象对象的定义方法
IE不支持option的display样式,只能使用remove和add
多浏览器兼容的获取元素和鼠标的位置的js代码
js checkbox全选并将获取值放到input里边
javascript 日期联动选择器 [其中的一些代码值得学习]
javascript实现的仿51job地址多项选择方式效果
jQuery 渐变下拉菜单
利用图片的 onerror 事件载入默认图片
js实现页面打印功能实例代码(附去页眉页脚功能代码)
JQuery读取XML文件数据并显示的实现代码
比较详细的关于javascript 解析json的代码
TextArea 控件的最大长度问题(js json)

Javascript 中的 简明json介绍


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-10   浏览: 550 ::
收藏到网摘: n/a

不要认为JSON是种新的应用 ,其实JSON就是javascript支持的一种对象直接量。

在JS中我们可以直接定义一个对象:

复制代码 代码如下:

var obj={name:"蓝色",age:10};

上面其实就是所谓的JSON了,我引用下别人的复杂点的例子:
复制代码 代码如下:

{ firstName: "Brett", lastName:"McLaughlin", email: "[email protected]" }

复制代码 代码如下:

{ people: [
{ firstName: "Brett", lastName:"McLaughlin", email: "[email protected]" },
{ firstName: "Jason", lastName:"Hunter", email: "ruanchen.com" },
{ firstName: "Elliotte", lastName:"Harold", emai": "[email protected]" }
]}
{ people1: [
{ firstName: "Brett", lastName:"McLaughlin", email: "[email protected]" },
{ firstName: "Jason", lastName:"Hunter", email: "ruanchen.com" },
{ firstName: "Elliotte", lastName:"Harold", emai": "[email protected]" }
],
people2: [
{ firstName: "Brett", lastName:"McLaughlin", email: "[email protected]" },
{ firstName: "Jason", lastName:"Hunter", email: "ruanchen.com" },
{ firstName: "Elliotte", lastName:"Harold", emai": "[email protected]" }
],
people3: [
{ firstName: "Brett", lastName:"McLaughlin", email: "[email protected]" },
{ firstName: "Jason", lastName:"Hunter", email: "ruanchen.com" },
{ firstName: "Elliotte", lastName:"Harold", emai": "[email protected]" }
]
}

2.后台传输进来的满足JSON条件的文本格式化。
因为JSON最大的用途是AJAX应用,因此关键是怎样把文本转换成javascript对象,假设我们请求回的文本为data,那么我们如下解析:
复制代码 代码如下:

data=data.replace(/\n | \r/g,"");
var obj=eval('('+data+')');

因为我们后台输出的时候会把空格和回车符也输出,因此这里要用正则替换掉,然后用eval转换成对象就可以调用了。