如何理解JSON

发布时间:2021-11-18 14:52:17 作者:iii
来源:亿速云 阅读:191

这篇文章主要讲解了“如何理解JSON”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解JSON”吧!

这几个字母是什么意思?

JavaScript Object Notation.

[一个滑稽的名字。它应该被称作Lightweight Ecmascript Object Notation, 或简称 'LEON'。]

它是个什么东西?

JSON是一种传递对象的语法,对象可以是name/value对,数组和其他对象。

下面是一小段JSON代码:

{"skillz": {      "web":[          {"name": "html",           "years": "5"         },          {"name": "css",           "years": "3"         }],      "database":[          {"name": "sql",           "years": "7"         }]  }}

你看懂了吧?那么当你再看到它时就知道它是JSON了。主要部分:

花括弧,方括弧,冒号和逗号

1. 花括弧表示一个“容器”

2. 方括号装载数组

3. 名称和值用冒号隔开

4. 数组元素通过逗号隔开

把它想成“得了厌食症的XML”

(如果你跟我一样老,可以把它想成有层次关系的’.INI’文件)

(如果你是个自以为是的Lisp小丑,可以把它想成”S-expressions”,自以为是吧)

JSON很像XML,因为:

1. 他们都“自我描述”,这意味着值都是可列举的,是“人类可读”的

2. 都是有层级的。(例如你可以在值里再存放值)

3. 都能被多种的编程语言解析和使用

4. 都能使用AJAX方法来传递(例如httpWebRequest)

JSON跟XML不一样,因为:

1. XML里在元素的开始和结尾处有尖括号和标签名:JSON使用花括号,而且只在数据的开始和结束时使用。

2. JSON更简练,毫无疑问更适合人类书写,也许也能让我们更快速的阅读。

3. JSON可以在JavaScript里简单的传递到eval()方法里使用

4. JSON里有数组{每个元素没有自己的名称}

5. 在XML里你可以对一个元素使用任意想要的名称,在JSON里你不能使用Javascript里的保留字

可是为什么?它有什么好的?

当你写ajax之类的东西时,如果你使用JSON,你就勉去了手工拼写XML。更迅速。

同样,当你写ajax之类的东西时,怎样最简单?XML方式还是JSON方式:

XML方式:

1. 取回一个XML文件

2. 循环它,从中提取值

3. 处理这些值,等

对比

JSON方式:

1. 取回JSON字符串。

2. ‘eval’ JSON数据

它是面向对象的吗?

No,严格的说,不是。

就像是VB6里的面向对象一样。它提供了很好的封装机制,你可以使用它把数据和方法分离出来,但它不提供任何的继承,多型,接口,或其它类似的面向对象的东西

很显然,它是使javascript变得更易于维护,分析和复用的方向上前进了一步。

Thomas Frank写了一个灵巧的javascript库,叫做classyJSON,它在JSON代码上增加了继承和定义范围等特征。

它只是用在客户端吗?

是,也不是。在服务器端你可以容易的把对象序列化成JSON或反之。对于.net,程序员可以使用类似Json.net的类库使这些操作自动化(我估计是使用反射机制),或你使用自己的程序来做这些事,可能会更快些。

3分钟将近结束….

我在几分钟的时间里只能整理出这些东西——所有我说的有些东西可能完全是错的。如果是这样,请留言告诉我,告诉我我有多傻。我会很高兴的纠正任何一个错误。祝你好运!

(边注:如果你把 { 和 } 替换成”<” 和 “/>”,把”:” 换成 “/”&hellip; 你会得到一个非常像gaXml的东西。有趣的世界。

(边注2:Jason 和 Ajax 都是希腊神话中的英雄。预告:另外一些即将出现的技术垃圾包括:Heracles, Perseus, Deucalion, Theseusand Bellerophon。)

感谢各位的阅读,以上就是“如何理解JSON”的内容了,经过本文的学习后,相信大家对如何理解JSON这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. json
  2. 如何理解ABP的Json格式化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

json

上一篇:k8s+docker如何部署jenkins+gitlab实现CICD

下一篇:怎么使用DIV标签进行页面布局

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》