欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:前端 JSON詳解

柚子快報邀請碼778899分享:前端 JSON詳解

http://yzkb.51969.com/

JSON詳解

文章目錄

JSON詳解一、簡介二、JSON的數(shù)據(jù)表示三、序列化和反序列化四、瀏覽器中處理JSON1 、JSON字符串 → 對象2、對象 → JSON字符串

五、FastJSON

一、簡介

JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,易于人類讀寫,也易于機器解析和生成。JSON 基于 JavaScript 語言的一個子集,但獨立于編程語言,可以被多種語言解析和生成,包括 Java、Python、C++ 等。

現(xiàn)在傳輸數(shù)據(jù)的方式更多是采用json的格式,漸漸代替了XML

理解:JSON是一種表示對象的方式,用來傳輸數(shù)據(jù)的一種格式。

二、JSON的數(shù)據(jù)表示

JSON 使用名值對(key-value pairs)的方式來表示數(shù)據(jù)。每個名值對由一個鍵和一個對應的值組成,鍵和值之間使用冒號 : 分隔,多個名值對之間使用逗號 , 分隔。名值對通常用于對象中,使用花括號 {} 包圍。

符號描述示例{}表示對象{name : ‘小雷’ , age:23}[{},{},{}]表示對象數(shù)組[ {name : ‘小雷’ , age:23} , {name : ‘小楊’ , age:22} ]

注意:

JSON的本質(zhì)就是一串字符串,只不過元素(數(shù)據(jù))會使用特定的符號標注鍵和值之間用 “ :” 隔開鍵值對之間用 “ ,” 隔開支持無限層嵌套單引號’'和雙引號""都可以表示字符串。

三、序列化和反序列化

JSON的序列化和反序列化是將對象和JSON字符串相互轉(zhuǎn)換的過程。序列化是將對象轉(zhuǎn)換為JSON字符串,反序列化是將JSON字符串轉(zhuǎn)換為對象。

1、序列化

序列化(Serialization)是將對象轉(zhuǎn)換為JSON字符串的過程。這在需要將數(shù)據(jù)傳輸?shù)絎eb服務器或存儲到文件時非常有用。

var obj = { name: "John", age: 30, city: "New York" };

var jsonString = JSON.stringify(obj);

console.log(jsonString); // {"name":"John","age":30,"city":"New York"}

2、反序列化

反序列化(Deserialization)是將JSON字符串轉(zhuǎn)換回對象的過程。這在從Web服務器接收數(shù)據(jù)或從文件讀取數(shù)據(jù)時非常有用。

var jsonString = '{"name":"John","age":30,"city":"New York"}';

var obj = JSON.parse(jsonString);

console.log(obj.name); // John

理解:

序列化 將對象轉(zhuǎn)換為 JSON 字符串,適用于數(shù)據(jù)傳輸和存儲。反序列化 將 JSON 字符串轉(zhuǎn)換為對象,適用于從數(shù)據(jù)源讀取數(shù)據(jù)。

四、瀏覽器中處理JSON

1 、JSON字符串 → 對象

1.1 使用JSON.parse()函數(shù)將JSON格式字符串解析為JavaScript對象 :

注意:(有坑)

1. 字符串的數(shù)據(jù)格式:所有屬性必須用雙引號引住,因為使用JSON.parse需嚴格遵守JSON規(guī)范。

2. 單引號與雙引號 :使用單引號嵌套雙引號的方式 ' '{"name":"你好啊,小雷","age":23}';

1.2 使用JSON.eval()函數(shù)將JSON格式字符串解析為JavaScript對象

原因:使用JSON.parse()來解析JSON字符串,需要注意的是被轉(zhuǎn)化的字符串里面的屬性要使用引號,并且總體是單引號套雙引號的方式,太麻煩了。 如果使用eval() 就可以忽略上述兩點需要注意的地方

理解:eval(str)會將函數(shù)的參數(shù)作為JavaScript代碼去執(zhí)行

注意:(還是有坑)

使用()包裹JSON字符串

“[{‘name’:‘你好啊,小雷’,‘a(chǎn)ge’:23},{‘name’:‘你好啊,小楊’,‘a(chǎn)ge’:22}]”

原因:eval本身的問題。 由于json是以”{}”的方式來開始以及結束的。在JavaScript中,它會被當成一個語句塊來處理,所以必須強制性的將它轉(zhuǎn)換成一種表達式。加上圓括號的目的是迫使eval函數(shù)在處理JavaScript代碼的時候強制將括號內(nèi)的表達式轉(zhuǎn)化為對象,而不是作為代碼來執(zhí)行。

2、對象 → JSON字符串

2.1 js對象轉(zhuǎn)JSON

2.2 JS數(shù)組轉(zhuǎn)JSON

五、FastJSON

1、定義:FastJson:阿里的開源框架,被不少企業(yè)使用,是一個極其優(yōu)秀的Json框架,使用此框架必須在項目中導入框架包(fastjson-1.1.33.jar), 它提供了快速的 JSON 序列化和反序列化功能。

2、特點:

高性能:FastJSON 在序列化和反序列化 JSON 數(shù)據(jù)時速度非???,通常比其他 JSON 庫更快。簡單易用:API 設計簡潔,使用方便。支持多種數(shù)據(jù)格式:支持 JSON 對象、數(shù)組、Map、List 等常見數(shù)據(jù)結構。強大的功能:包括 JSONPath、自動類型識別、循環(huán)引用檢測等。

3、FastJson對于json格式字符串的解析主要用到了下面三個類:

JSON:FastJSON的解析器,用于JSON格式字符串與JSON對象及javaBean之間的轉(zhuǎn)換JSONObject:FastJSON提供的json對象JSONArray:FastJSON提供json數(shù)組對象

強大的功能:包括 JSONPath、自動類型識別、循環(huán)引用檢測等。

3、FastJson對于json格式字符串的解析主要用到了下面三個類:

JSON:FastJSON的解析器,用于JSON格式字符串與JSON對象及javaBean之間的轉(zhuǎn)換JSONObject:FastJSON提供的json對象JSONArray:FastJSON提供json數(shù)組對象

柚子快報邀請碼778899分享:前端 JSON詳解

http://yzkb.51969.com/

相關閱讀

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19322703.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄