什么是JSON?
2008-03-21 08:59
141 查看
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,可替换XML成为AJAX程序中的数据交换格式。
它有两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
JSON是JavaScript的子集,我们在JavaScript中可以很容易的使用它。
下面是官方网站上面提供的一个例子:
这个例子中,创建了一个对象,它只包含一个成员“bindings”。“bindings”中有一个包含了3个对象的数组,而这每个对象都有"ircEvent"、"method"和"regex"3个成员。
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
myJSONObject.bindings[0].method 的值是 "newURI"
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
JSON官方网站提供的一个开源的JSON解析器和字符串转换器:json.js
string.parseJSON() 解析函数,它将JSON文本解析成object或者array,可以抛出一个语法错误的异常;
array.toJSONString(),
boolean.toJSONString() ,
date.toJSONString(),
number.toJSONString(),
object.toJSONString(),
string.toJSONString(): 这几个函数可以生成JSON文本
下面写一个简单的解析和转换的例子:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var str='["0","1"]';
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var obj = str.parseJSON();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
document.write(obj[0]);
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
document.write(obj[1]);
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
结果是01
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var doc = new Array();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
doc[0]='0';
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
doc[1]='1';
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
document.write(doc.toJSONString())
结果是["0","1"]
资源:
官方网站:http://www.json.org
JSON解析和转换器下载:http://www.json.org/json.js
它有两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
JSON是JavaScript的子集,我们在JavaScript中可以很容易的使用它。
下面是官方网站上面提供的一个例子:
![]()
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个成员。
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
myJSONObject.bindings[0].method 的值是 "newURI"
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
JSON官方网站提供的一个开源的JSON解析器和字符串转换器:json.js
string.parseJSON() 解析函数,它将JSON文本解析成object或者array,可以抛出一个语法错误的异常;
array.toJSONString(),
boolean.toJSONString() ,
date.toJSONString(),
number.toJSONString(),
object.toJSONString(),
string.toJSONString(): 这几个函数可以生成JSON文本
下面写一个简单的解析和转换的例子:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var str='["0","1"]';
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var obj = str.parseJSON();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
document.write(obj[0]);
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
document.write(obj[1]);
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
结果是01
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var doc = new Array();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
doc[0]='0';
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
doc[1]='1';
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
document.write(doc.toJSONString())
结果是["0","1"]
资源:
官方网站:http://www.json.org
JSON解析和转换器下载:http://www.json.org/json.js
相关文章推荐
- (转)什么是JSON+如何处理JSON字符串
- package.json和config.js有什么关联么
- Web前端面试指导(二十六):JSON 格式是什么?你了解吗?
- 什么是JSON数据
- 什么是Json
- 比getjson好的底层函数是哪个有什么优点
- 什么是JSON?
- JSON:它是什么,它的工作原理以及如何使用它
- 什么是 JWT -- JSON WEB TOKEN
- Android笔记——什么是json?json如何使用?
- jf框架中json.tld是什么?为什么不用更为简单的json-taglib.jar方式?
- $.fn.serializeJson = function() {}中fn代表什么,谁是函数名
- JSON支持什么对象/类型?
- 什么是JSON?
- 如果希望给Android客户端提供JSON格式的数据,服务端应该用什么技术编写呢?
- Gjson解析json出错 但是不知道什么原因
- json教程--什么是jsonp?
- mysql 动态增加列,查找表中有多少列,具体什么列。 通过JSON生成mysql表 支持子JSON
- 什么是json、json的作用,json的语法格式
- struts配置中<result type="json"></reult>是什么意思 .