JSON中資料格式,序列化,解析

2021-08-21 15:53:17 字數 1767 閱讀 9530

json是什麼?是一種資料格式。

資料的兩個重要方面:乙個是傳輸,乙個是儲存。

xml也是一種資料格式。今天json在資料傳輸上是主流。

json資料格式涉及到兩個方面的問題

乙個是將資料格式化 --- 序列化json

乙個是解析資料 --- 解析json

注意事項:json中的字串和js中的字串的差別

在js中字串既可以採用雙引號,也可以採用單引號。

但是,在json中只能採用雙引號。另外,建議在js中

字串採用單引號。

使用json主要用來表示物件和陣列這樣的複雜資料結構,當然也可以

表示基本資料型別(string, boolean, number, null, undefine)

json中的物件和js中物件字面量之間的區別

在json中鍵值對的鍵必須加雙引號,但是在js中不必。

在json中鍵值對之間以,隔開,不可以出現分號。

注意事項:使用json傳輸資料往往出現如下錯誤;

物件的屬性名忘記加雙引號

給物件的屬性名新增單引號而不是雙引號。

json中沒有變數這樣的概念

json中的陣列和js中的陣列幾乎相同,還是那一點,物件的屬性字段必須加上雙引號。

例子:序列化:將js中的物件轉化成json格式,序列化的兩個引數:過濾器和選項。

var person =

引數是乙個陣列,出現在陣列中的屬性才會序列化,其餘屬性忽略不計。

var json = json.stringify(person, ['username', 'password']);

console.log(json);

var person =

var json = json.stringify(person, function filter(key, value)

});console.log(json);

json.stringify()中的第三個引數表示縮排的空格數,

這樣傳輸的資料可讀性比較好。

var person = ,

hometown: 'wuhan',

}var json = json.stringify(person, function filter(key, value)

});console.log(json);

}var person = ,

hometown: 'wuhan',

}var json = json.stringify(person, function filter(key, value)

}, 2);

console.log(json);

}序列化最核心的一點就是序列化的順序

tojson()  可以為任何物件新增tojson()方法

過濾器函式/屬性陣列

縮排格式

****************************************

與序列化相對的就是解析

將json還原成js物件

json.parse();

接受乙個引數,這個引數的型別就是函式。同樣是傳入鍵值對,

依次對鍵對應的值進行轉換

*********************************************

json.stringify()用於向後台傳輸資料時作相應的處理。

json.parse()用於接受後台傳來的資料時作相應的處理。

*********************************************

解析JSON資料格式

比起xml,json的主要優勢在於它的體積更小,在網路上傳輸的時候可以更省流量,但缺點在於,他的語義性較差,看起來不如xml直觀。官方提供的jsonobject谷歌開源庫的gson第三方開源庫,jackson fastjson 下面使用jsonobject和gson分別解析這組資料.private ...

android 解析json資料格式

json資料格式解析我自己分為兩種 一種是普通的,一種是帶有陣列形式的 普通形式的 伺服器端返回的json資料格式如下 分析 如下 todo 狀態處理 500 200 分析 如下 todo 狀態處理 500 200 當返回碼為200時,做處理 得到伺服器端返回json資料,並做處理 這裡需要分析伺服...

Json資料格式

在web 系統開發中,經常會碰到客戶端和伺服器端互動的問題,比如說客戶端傳送乙個 ajax 請求,然後在伺服器端進行計算,計算後返回結果,客戶端接收到這個響應結果並對它進行處理。那麼這個結果以一種什麼資料結構返回,客戶端才能比較容易和較好的處理呢?通過幾個專案的實踐,我發現 json 格式的資料是一...