json学习之路
总感觉自己比别人慢好几排,不知道到底多少,但至少一排吧???
一直很喜欢js,但刚开始编程的时候一直把js停留在"有效性验证"上,大大浪费了js.不过当时已经知道js很强大了,可以增加客户端用户体验,而具体怎么增加何如增加,不好意思不知道。而真正开始接触js的是学习ajax(Asynchronous JavaScript and XML),这次学习虽然也比较浅,但毕竟也是一个入门,同时也开始了CSS(Cascading Style Sheets)和DOM(Document Object Model)的入门学习。当然,从这时候开始,我知道js很强大很强大了,也知道了js其实是可以面向对象的。
刚开始项目的时候一直用asp,做联动效果的时候一直没有一个好的办法,当时的代码是从网上当下来的,看都特别郁闷。后来学了ajax,知道了xmlhttprequest对象,直到了异步这种方式。也慢慢开始在项目中摸索着用这种方式。
参加工作小四个月了,除了刚开始做一个拖拽效果的页面之外,好久没有动过js了。当时也用到了ajax,只是调用的是一个已经封装好的方法,返回的对象是json格式的。说句实话,当时是一头雾水,也是从那时开始知道json,告诉我要了解和会用和运用自如的一种js框架。
近期也看了一点JQuery的一些文章,园子里有一篇关于JQuery和JSON的文章,也拜读了一下。但感觉基础还是最重要的,现在我把刚读到的一片json官方网站的说明文档引过来和大家一起分享。希望和大家一起分享学习的快乐,同时也希望和大家可以一起交流。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
JSON建构于两种结构:
- “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
- 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
值(value)可以是双引号括起来的字符串(string)、数值(number)、true
、false
、 null
、对象(object)或者数组(array)。这些结构可以嵌套。
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
字符串(string)与C或者Java的字符串非常相似。
数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
空白可以加入到任何符号之间。 以下描述了完整的语言。
看完这篇介绍,我有几点看法。
json的语法比较固定,我感觉有点借鉴了XML,吸收了XML语法的优点。还有就是json的易扩展性。“{}”就是一个对象,就是封装了一个对象。而":"之前的就是这个对象的"属性",":"之后则是"属性"的值。作为"属性"的值是可以任何扩展,或者说可以是任意种类型的值。这就符合了面向对象的三大特点中两个:封装和多态。当然,“多态”用在这里有点牵强。也难怪,在"OO"甚嚣尘上的时代,json是很容易被大家接受的。以上只是一点自己的看法,如果大家有点意见或者建议都可以给我留言。
本文引自json的官方网站(http://www.json.org/json-zh.html)。当然,这里还有好多关于json的用法说明,大家有兴趣可以看一下。
这里附上json,当然这个文件在json官方网站就可以下载。json.rar