就讲讲JSON吧

java 小课堂

分享人:常雷雷

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

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

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

鸣谢

感谢观看,如有出错,恳请指正

BY : 深圳分院 常雷雷

net.sf.json-lib json-lib 2.4 jdk15