就讲讲JSON吧

作者: 预言之上 | 来源:发表于2018-03-15 22:39 被阅读10次

大家好,我是IT修真院深圳分院的学员,一枚正直善良的JAVA程序员。

今天给大家带来的是关于JSON的分享。

1.背景介绍

JSON是由道格拉斯·克罗克福特在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式,雅虎和谷歌就在那时候开始广泛地使用JSON格式。在这之前当时通用的数据交换语言是XML,但是道格拉斯·克罗克福特认为XML的生成和解析都过于麻烦,所以他提出一种更加简化的格式,就是我们现在使用的JSON。

JSON(JavaScript Object Notation, JS对象表示法) 是一种轻量级的数据交换格式。它基于 ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式,但是也使用了类似于C语言家族的习惯来存储和表示数据。简洁和清晰的层次结构易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。这些特性使JSON成为理想的数据交换格式。

2.知识剖析

在 JS 语言中,一切都是对象。因此,任何程序支持的类型都可以通过JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:

对象表示为键值对

数据由逗号分隔

花括号保存对象

方括号保存数组

JSON 键/值对

JSON 键值对是用来保存 JS 对象的一种方式,

和 JS 对象的写法也大同小异,

键/值对组合中的键名写在前面并用双引号 "" 包裹,

使用冒号 : 分隔,然后紧接着值:

{"firstName": "Json"}

这很容易理解,等价于这条 JavaScript 语句:

{firstName : "Json"}

3.常见问题

1.JSON 与 JS 对象的关系?

2.JSON在javaweb中的运用

4.解决方案

JSON 与 JS 对象的关系?

很多人搞不清楚 JSON 和 Js 对象的关系,

甚至连谁是谁都不清楚。其实,可以这么理解:

JSON 是 JS 对象的字符串表示法,

它使用文本表示一个 JS 对象的信息,本质是一个字符串。

它和xml一样都是一种数据交换格式

var obj = {a: 'Hello', b: 'World'};

//这是一个对象,注意键名也是可以使用引号包裹的

var json = '{"a": "Hello","b": "World"}';

//这是一个 JSON 字符串,本质是一个字符串

JSON 和 JS 对象如何相互转换

要实现从对象转换为 JSON 字符串,使用JSON.stringify() 方法:

var json = JSON.stringify({a: 'Hello', b: 'World'});

//结果是'{"a": "Hello", "b":"World"}'

要实现从 JSON 转换为对象,使用 JSON.parse() 方法:

var obj = JSON.parse('{"a":"Hello", "b": "World"}');

//结果是{a: 'Hello', b: 'World'}

5.编码实战

让我们来看看这个例子的代码。

6.扩展思考

7.参考文献

链接:https://baike.baidu.com/item/JSON/2462549?fr=aladdin

作者:百度百科

链接:http://www.runoob.com/json/json-intro.html

作者:菜鸟教程

8.更多讨论

1. 打了@ResponseBody 标签之后,所有类型return都会变成json对象传输给前端吗?

如果单纯只添加@ResponseBody的话,会自动转化成JSON数据,如果在对应的类上添加下面的类和注解的话,还可以转化成XML格式。下图可以看到一个对比结果。

importjavax.xml.bind.annotation.XmlRootElement;

@XmlRootElement

2. @ResponseBody 能直接返回基本数据类型给前端吗?

@ResponseBody返回的数据类型,基本上都是JSON数据类型,也就是JS对象的形式。需要经过转换才能使用。如果传递的是字符串的话,前端接收的就是字符串。

3.javaweb中,XML与JSON的优劣

https://www.cnblogs.com/SanMaoSpace/p/3139186.html

这位博主讲的比较详细深入,大家可以去看看。

PPT链接:戳这里看PPT

腾讯视频:腾讯视频

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧

直接点击此链接:http://www.jnshu.com/login/1/19919173

相关文章

  • 就讲讲JSON吧

    大家好,我是IT修真院深圳分院的学员,一枚正直善良的JAVA程序员。 今天给大家带来的是关于JSON的分享。 1....

  • 简单讲讲JSON吧

    1.背景介绍 拖了很久的JSON,这两天终于去学习了解了,所以就做个分享让大家拍砖吧 2.知识剖析 首先,我们要知...

  • 讲讲狗吧

    很多人都说,狗是通人性的动物,非常具有灵性。在从前,我是没有那么深信不疑的,直到现在,整天呆在家,陪我的小...

  • 讲讲正事吧

    说正事吧,讲讲穿搭, 如何让衣服整体搭配完美, 就好比图片上的这一套,短款西装可以搭配七分或者九分阔腿裤显个高腿长...

  • 讲讲小品吧

    我觉得我的这个一百天计划根本我就没当回事,写的有一天没一天的,这样不行,这就跟我初衷相违背了 下面说正题吧 今天上...

  • 讲讲追星吧

    记得,高三的时候考试结束大家状态不是特别好,所以气氛比较低沉。不知道是起了个头,开始聊起自己爱豆的最新专辑,仿佛一...

  • 讲讲朋友吧

    不知道你身边的朋友是什么样子,有点好奇。但我更好奇的,还是你的样子。 今天想跟大家分享关于我的朋友。 虽然我是...

  • 漫谈|讲讲宗教吧

    记得曾经出去玩的时候,遇到一个姑娘,她在中央党校读研究生。她说听不懂老师讲的课,问我如果是我讲宗教,会怎么讲? 我...

  • 讲讲我自己吧

    我呢,普通的人儿一个,不怎么爱出风头,兢兢业业,生活也是平平淡淡……可是我也想拥有一个不平凡的人生,轰轰烈烈,不枉...

  • 还是讲讲他吧

    喜欢一个男孩子 大概喜欢了 五年吧 刚刚发现自己好像得了会死掉的病 他说 没事 是我坚强的后盾 真是太久没有听到他...

网友评论

    本文标题:就讲讲JSON吧

    本文链接:https://www.haomeiwen.com/subject/sxukqftx.html