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

Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
(转载)JavaScript中匿名函数,函数直接量和闭包
简单的无缝滚动程序-仅几行代码
Javascript中的数学函数集合
javascript之大字符串的连接的StringBuffer 类
javascript之对系统的toFixed()方法的修正
用javascript实现自定义标签
js在客户端验证密码强度,兼容FireFox和IE
javascript背景颜色按时变换
脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%
javascript语句中的CDATA标签的意义
用javascript实现分割提取页面所需内容
网上抓的一个特效
js之点击 超连接,提示一个层.点击空白.层消失
模拟用户操作Input元素,不会触发相应事件
弹出广告特效代码(一个IP只弹出一次)
(仅IE下有效)关于checkbox 三态
JavaScript Archive Network 集合
关于__defineGetter__ 和__defineSetter__的说明
textContent在Firefox下与innerText等效的属性

Javascript 中的 简明json介绍


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-10   浏览: 536 ::
收藏到网摘: 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转换成对象就可以调用了。