json(我懒,这篇只看三分钟)
Posted 猫头Tomcat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json(我懒,这篇只看三分钟)相关的知识,希望对你有一定的参考价值。
javascript Object Notation.
它是个什么东西?
JSON是一种传递对象的语法,对象可以是name/value对,数组和其他对象。
下面是一小段JSON代码:
{“skillz”:
{“web”: [ {“name”: “html”, “years”: “5” },
{“name”: “css”, “years”: “3” }],
”database”:[ {“name”: “sql”, “years”: “7” }]
}}
你看懂了吧?那么当你再看到它时就知道它是JSON了。主要部分:
花括弧,方括弧,冒号和逗号
花括弧表示一个“容器”
方括号装载数组
名称和值用冒号隔开
数组元素通过逗号隔开
把它想成“得了厌食症的XML”
(如果你跟我一样老,可以把它想成有层次关系的’.INI’文件)
(如果你是个自以为是的Lisp小丑,可以把它想成”S-expressions”,自以为是吧)
JSON很像XML,因为:
他们都“自我描述”,这意味着值都是可列举的,是“人类可读”的
都是有层级的。(例如你可以在值里再存放值)
都能被多种的编程语言解析和使用
都能使用AJAX方法来传递(例如httpWebRequest)
JSON跟XML不一样,因为:
XML里在元素的开始和结尾处有尖括号和标签名:JSON使用花括号,而且只在数据的开始和结束时使用。
JSON更简练,毫无疑问更适合人类书写,也许也能让我们更快速的阅读。
JSON可以在JavaScript里简单的传递到eval()方法里使用
JSON里有数组{每个元素没有自己的名称}
在XML里你可以对一个元素使用任意想要的名称,在JSON里你不能使用Javascript里的保留字
可是为什么?它有什么好的?
当你写ajax(重点)之类的东西时,如果你使用JSON,你就勉去了手工拼写XML。更迅速。
同样,当你写ajax之类的东西时,怎样最简单?XML方式还是JSON方式:
XML方式:
取回一个XML文件
循环它,从中提取值
处理这些值,等
对比
JSON方式:
取回JSON字符串。
‘eval’ JSON数据
它是面向对象的吗?
No,严格的说,不是。
就像是VB6里的面向对象一样。它提供了很好的封装机制,你可以使用它把数据和方法分离出来,但它不提供任何的继承,多型,接口,或其它类似的面向对象的东西 ,很显然,它是使javascript变得更易于维护,分析和复用的方向上前进了一步。
Thomas Frank写了一个灵巧的javascript库,叫做classyJSON,它在JSON代码上增加了继承和定义范围等特征。
它只是用在客户端吗?
是,也不是。在服务器端你可以容易的把对象序列化成JSON或反之。对于.net,程序员可以使用类似Json.net的类库使这些操作自动化(我估计是使用反射机制),或你使用自己的程序来做这些事,可能会更快些。
以上是关于json(我懒,这篇只看三分钟)的主要内容,如果未能解决你的问题,请参考以下文章
全国计算机非全研究生学校清单(python抓取),只看这篇就够了!
全国计算机非全研究生学校清单(python抓取),只看这篇就够了!