7:JSON-Java Spring

95 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情

7.1 JSON介绍

JSON即JavaScript 对象标记法(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于编程语言的文本格式来存储和表示数据,是一种存储和交换数据的语法

JSON易于人阅读和编写的同时,便于机器解析和生成,可有效地提升网络传输效率,是理想的数据交换语言

7.2 JSON和XML的区别

XML即扩展标记语言(Extensible Markup Language),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言

  • XML 文件格式复杂,标记比数据多,传输占带宽
  • JSON 数据格式易于读写,没有附加标记,占用带宽小
  • XML可以作为跨平台的数据交换格式,数据共享方便
  • JSON数据加载更快、更简单
  • XML 需要使用 XML 解析器来解析,在JS中处理不方便
  • JSON 可以使用JS来解析
{"name":[
    { "firstName":"JSON", "lastName":"实例" },
]}
<sites>
    <name>
         <firstName>XML</firstName>
         <lastName>实例</lastName>
	</name>
</sites>

7.3 JSON的构成

JSON数据书写格式是key : value,其值(value)可以是

  • 对象(object)
  • 数组(array)
  • 数值(number)
  • 字符串(string)
  • 逻辑值(true 或 false)
  • null

7.4 JSON的语法

在 JSON 中,字符串值必须由双引号编写

{ "name":"Yeats" }

在 JavaScript 中,可以使用单引号或双引号的字符串值

{ name:'Yeats' }
{ name:"Yeats" }
{ "name":"Yeats" }

通过JSON 使用 JavaScript 语法可以创建一个对象数组并赋值

//对象
var obj = JSON.parse('{ "name":"Yeats", "age":18, "address": {"country" : "C" } }');
//数字
{ "age":18 }
//数组
{
"sites":[3, 1, 4, 1, 5, 9, 2, 6]
}

7.5 JSON.parse()

JSON 通常用于与服务端进行数据传输,在接收Web服务器数据时一般是字符串

JSON.parse() 方法是JavaScript的函数,把数据解析为 JavaScript 对象

JSON.parse(text[, reviver])
  • text 必需, 一个有效的 JSON 字符串
  • reviver 可选,一个转换结果的函数, 将为对象的每个成员调用此函数

从 Web 服务器接收到的数据:

'{ "name": "Yeats", "age": 18, "address": {"country" : "china"}'

使用JSON.parse() 把数据解析为 JavaScript 对象

var obj = JSON.parse('{ "name":"Yeats", "age":18, "address": {"country" : "C" } }');
<p id="demo"></p>

<script>
var obj = JSON.parse('{ "name":"Yeats", "age":18, "address": {"country" : "C" } }');
document.getElementById("demo").innerHTML = obj.name + ":" + obj.address.country;
</script>
//接受的数据
Yeats:C

7.6 JSON.stringify()

JSON 通常用于与服务端进行数据传输,向Web服务器发送数据时一般是字符串

JSON.stringify() 方法是JavaScript的函数,把 JavaScript 对象解析为字符串

JSON.stringify(value[, replacer[, space]])
  • value 必需, 要转换的 JavaScript 值
  • replacer 可选,一个转换结果的函数, 将为对象的每个成员调用此函数
  • space 可选,文本添加缩进、空格和换行符

向 Web 服务器发送的数据:

var obj = { "name":"Yeats", "age":18, "address": {"country" : "C" } };

使用JSON.parse() 把 JavaScript 对象解析为字符串

var obj = JSON.stringify({ "name":"Yeats", "age":18, "address": {"country" : "C" } });
<p id="demo"></p>

<script>
var obj =JSON.stringify({ "name":"Yeats", "age":18, "address": {"country" : "C" } });
document.getElementById("demo").innerHTML = obj;
</script>
//接受的数据
{"name":"Yeats","age":18,"address":{"country":"C"}}