溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

json數(shù)據(jù)指的是什么

發(fā)布時間:2020-08-12 10:09:19 來源:億速云 閱讀:401 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細講解有關json數(shù)據(jù)指的是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

json數(shù)據(jù)是是一種輕量級的數(shù)據(jù)交換格式,它基于一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結構使得 JSON 成為理想的數(shù)據(jù)交換語言。

JSON數(shù)據(jù)是:

JSON (JavaScript Object Notation, JS 對象標記) 是一種輕量級的數(shù)據(jù)交換格式。它基于 ECMAScript (w3c制定的js規(guī)范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結構使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡傳輸效率。——百度百科

數(shù)據(jù)傳輸是我們在敲代碼時,經(jīng)常遇到的一個場景,前后端交互。給數(shù)據(jù)一個統(tǒng)一的格式有利于我們編寫和解析數(shù)據(jù)。

json,是一種數(shù)據(jù)格式,在與后端的數(shù)據(jù)交互中有較為廣泛的應用。

JSON的誕生

JSON是 (JavaScript Object Notation, JS 對象標記),它是一種數(shù)據(jù)交換格式。在JSON出現(xiàn)之前,大家一直用XML來傳遞數(shù)據(jù)。因為XML是一種純文本格式,所以它適合在網(wǎng)絡上交換數(shù)據(jù)。XML本身不算復雜,但是,加上DTD、XSD、XPath、XSLT等一大堆復雜的規(guī)范以后,任何正常的軟件開發(fā)人員碰到XML都會感覺頭大了,最后大家發(fā)現(xiàn),即使你努力鉆研幾個月,也未必搞得清楚XML的規(guī)范。

終于,在2002年的一天,道格拉斯·克羅克福特(DouglasCrockford)同學為了拯救深陷水深火熱同時又被某幾個巨型軟件企業(yè)長期愚弄的軟件工程師,發(fā)明了JSON這種超輕量級的數(shù)據(jù)交換格式。

由于JSON非常簡單,很快就風靡Web世界,并且成為ECMA標準。幾乎所有編程語言都有解析JSON的庫,而在JavaScript中,我們可以直接使用JSON,因為JavaScript內(nèi)置了JSON的解析。把任何JavaScript對象變成JSON,就是把這個對象序列化成一個JSON格式的字符串,這樣才能夠通過網(wǎng)絡傳遞給其他計算機。如果我們收到一個JSON格式的字符串,只需要把它反序列化成一個JavaScript對象,就可以在JavaScript中直接使用這個對象了。

轉義

我們在調(diào)用 jsonp 接口或者調(diào)用js文件的時候,由于文件編碼不同會導致出現(xiàn)亂碼的問題。 如果你的文件出現(xiàn)了非英文字符,如果調(diào)用時文件編碼不一致,同樣會出現(xiàn)亂碼情況。

這也就是為什么要數(shù)據(jù)統(tǒng)一格式的原因。

  • JSON 是適用于 Ajax 應用程序的一種有效格式,原因是它使 JavaScript 對象和字符串值之間得以快速轉換 JSON是一種傳遞對象的語法

  • JSON是一個提供了stringify和parse方法的內(nèi)置對象

  • stringify將js對象轉化為符合json標準的字符串

  • parse將符合json標準的字符串轉化為js對象

JSON對值的類型和格式有嚴格的規(guī)定

  • 復合類型的值只能是數(shù)組或對象,不能是函數(shù)、正則表達式對象、日期對象。

  • 簡單類型的值只有四種:字符串、數(shù)值(必須以十進制表示)、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)。

  • 字符串必須使用雙引號表示,不能使用單引號。

  • 對象的鍵名必須放在雙引號里面。

  • 數(shù)組或對象最后一個成員的后面,不能加逗號。

  PS: 需要注意的是,空數(shù)組和空對象都是合格的JSON值,null本身也是一個合格的JSON值。

JSON 的語法規(guī)則

JSON 的語法規(guī)則十分簡單,可稱得上“優(yōu)雅完美”,總結起來有:

  • 數(shù)組(Array)用方括號(“[]”)表示。

  • 對象(Object)用大括號(”{}”)表示。

  • 名稱/值對(name/value)組合成數(shù)組和對象。

  • 名稱(name)置于雙引號中,值(value)有字符串、數(shù)值、布爾值、null、對象和數(shù)組。

  • 并列的數(shù)據(jù)之間用逗號(“,”)分隔

實例

JSON 數(shù)據(jù)的書寫格式是:名稱/值對。

名稱/值對組合中的名稱寫在前面(在雙引號中),值對寫在后面,中間用冒號隔開,

其中 值 可以是:數(shù)字(整數(shù)或浮點數(shù))、字符串(在雙引號中)、布爾值(true或false)、數(shù)組(在方括號中)、對象(在花括號中)、null

varjson= {"password":123456,"name":"myname","Booleans":true,"Array":[x,y,z],"object":{}}

或者是嵌套使用

轉義概述

為什么需要轉義?在js中我們使用的js對象進行處理,但是在與后端數(shù)據(jù)交換的時候,我們發(fā)送規(guī)定的json格式的字符串,所以在給后端發(fā)送或接受數(shù)據(jù)的時候,需要轉義

{name:"myname",password:123456}
"{"name":"myname","password":123456}"

其中json字符串轉js對象,調(diào)用parse方法:

  • js對象 = JSON.parse(json字符串);

  • js對象轉json字符串,調(diào)用stringify方法:

  • json字符串 = JSON.stringify(js對象);

關于json數(shù)據(jù)指的是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI