JSON

给产品经理讲技术|你真的了解JSON么?

字号+ 作者:H5之家 来源:H5之家 2017-01-23 13:00 我要评论( )

【文章摘要】一个对象其实就是一块内存,存储着属于本对象的一些数据。当然,它也会从「类」那里得到很多「方法」,这些方法大多数是来对自身的数据做一些逻辑上的操作。 【相关推荐】 给产品经理讲技术|断点续传的奥义 给产品经理讲技术 | 撩妹技术三部曲

【文章摘要】一个对象其实就是一块内存,存储着属于本对象的一些数据。当然,它也会从「类」那里得到很多「方法」,这些方法大多数是来对自身的数据做一些逻辑上的操作。

QQ截图20160607165006

【相关推荐】

给产品经理讲技术|断点续传的奥义

给产品经理讲技术 | 撩妹技术三部曲之”框架“

给产品经理讲技术丨没线,并不可怕?

给产品经理讲技术丨提需求的正确姿势是什么

给产品经理讲技术丨产品后悔药来了,讲讲热补丁技术

之前一篇文章(

一步一步写爬虫之JSON解析

)讲了JSON,只是着重介绍了JSON什么样子,至于JSON存在的意义,以及它如何用,却一笔带过了。这也是迫不得已的,这个公众号讲的很多技术名词,要是把它的概念、用途、实例、用法都塞到一篇文章里,可能大家从五环坐到一环都看不完。我个人觉得,长文会给人一种无形的压力,很多人一看到文章很长,要么跳着看看大概,要么收藏了以后再看,却往往都不会再看。所以我今天准备另开一篇,着重说下JSON和对象的关系。

这还得从面向对象里的「对象」说起。自从有了面向对象,程序员就喜欢上了对象这个东西。它可以封装,满足程序员的洁癖;也可以继承 ,满足程序员的懒惰。因此每次接到需求,都先要把用到的所有现实里的东西都抽象成对象。

一个对象其实就是一块内存,存储着属于本对象的一些数据。当然,它也会从「类」那里得到很多「方法」,这些方法大多数是来对自身的数据做一些逻辑上的操作。比如有一个对象叫「给产品经理讲技术公众号」,里面存了170多篇文章,作为自身的数据。还有一些操作这些数据的方法,比如「增加一篇文章」、「发布一篇文章」等等。

但是也有一种对象,没有什么特别的方法,唯一存在的意义就是用来存储数据。这可比那种原始的存储数据的方式高级多了。比如说你用数组,是可以存一组数据,但是他们必须要是相同类型的。但是对象可以存任意类型的数据。对象可以有任意个数的成员变量,每个成员变量都有自己的类型,有的是整数,有的是字符串,还有的,也可以是另一个对象。

方便归方便,对象作为一种高级的数据表达方式,在网络上传输的时候遇到了问题。举个例子,微信服务器上有一个对象「文章」,它有很多成员变量,比如「标题」、「作者」、「正文」、还有「留言」,每个变量可以存储一部分数据。现在你在微信客户端上请求这篇文章,如何才能把这个「文章」对象通过网络原封不动的传输过来呢?

我们知道,HTTP协议是基于文本的,它已经屏蔽了底层的比特数据流,转而使用更高级的「字符串」来传输数据。如果用HTTP协议来传输「对象」的话,你就得想办法把「对象」转换成「字符串」,而且接收端必须能够按照一定的规则把收到的「字符串」再转换成「对象」,这样才能达到「传输对象」的目的,是不是这个道理?

为此,程序员发明了JSON,它更像是一种格式,把一个对象拆开,每一个成员变量变成了key=value的形式写成字符串,最后用大括号包起来,拿到网络上传输,这个过程叫序列化。客户端收到这个JSON字符串之后,再按照相反的规则,把它拆开,取出里面所有的key=value,包装成一个对象,这个过程叫反序列化,也就是JSON的解析。

所以,JSON并不是凭空想出来的什么高深概念,包括技术上的很多其他的东西,都不是程序员闲的蛋疼捣鼓出来的。JSON就是为了解决「对象」在网络上传输的问题而诞生的。这时候你再看它的英文名JavaScript Object Notation,JavaScript的「对象」标记法,是不是觉得确实是这么回事儿?

欢迎添加微信公众号:给

产品经理

讲技术

本文由产品壹佰为你推荐并呈现

文章来源:公众号:给产品经理讲技术(ID:pm_teacher)

文章作者:果果

 

友情提示:

若出处标注错误,请联系QQ:2977686517及时更正,感谢理解和支持!

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • json字符串无法解析。。

    json字符串无法解析。。

    2017-01-23 13:02

  • springmvcjson实例代码

    springmvcjson实例代码

    2017-01-23 11:05

  • JSON 数据详解及实例代码分析

    JSON 数据详解及实例代码分析

    2017-01-23 10:01

  • json教程 “汉语拼音之父”周有光辞世:上帝把那束光收走了

    json教程 “汉语拼音之父”周有光辞世:上帝把那束光收走了

    2017-01-23 09:03

网友点评
l