json是一種結構化資料,它是一種資料格式
json可以概括為三種型別:簡單值、物件、陣列
注意:json不支援變數、函式和物件例項
包括字串、數值、布林值、和null(json不支援js中的undefined)
例如:5 ---------------------->json數值;
"hello" ---------------------->json字串(json字串必需使用雙引號!);
布林值和null也是有效的json形式,但實際中json更多的用來表示複雜的資料結構,簡單值只是整個資料結構中的一部分。
本質上就是物件,但物件就是在本地用,json物件是用來傳輸的
先寫乙個js物件:
var person=;
js物件的屬性名可以為雙引、單引或不加引號,屬性值可以為js簡單值,也可以為js複雜值
故也可以寫成
var operson= ;
json物件的表述方式如下:
json物件的屬性名必須為雙引,屬性名可以為json簡單值,也可以為json複雜值
兩者之間的區別:
(1)json物件的屬性名任何時候都必須加雙引號;但js物件的屬性名可以為雙引、單引或不加引號
(2)json物件沒有末尾的分號
(3)json中沒有變數的概念,即沒有變數宣告,即
var obj=
是乙個js物件;
才是json物件形式
var arr = [25,"hello",true]; ------------->js陣列
[25,"hello",true] ----------------------->json陣列
一般把陣列和物件結合起來來構成複雜的資料集合
注意:json陣列中也沒有變數和末尾的分號
(1)json.stringify(); 把js物件序列化為json字串
(2)json.parse(); 把json字串解析為原生js值
如:var person = ;
var str = json.stringify(person); ------------> ""
var obj = json.parse(str); -------------------->
注意:json是用來傳輸的,傳輸過來的json物件和json陣列,經變數接收後,就可以當成正常的js物件和js陣列來使用,
json的序列化和解析方法使用在json字串和原生js之間
更多專業前端知識,請上
【猿2048】www.mk2048.com
對Json與BaseBean的一些理解
眾所周知json是常用的網路通訊的資料格式,json在google的flatbuffers出來之前,json幾乎是大家通用的資料傳輸格式。沒有對比就沒有傷害,相對於flatbuffers幾乎 的解析速度來說,json在大量資料傳輸的時候確實有一定的劣勢,但是json相對於flatbuffer的可讀性...
JSON的理解使用
寫乙個介面,由於同事是android的,用json比較方便,使用了,便於他呼叫。介面 較煩。需要標頭檔案cjson.h,cjson.c,乙個實驗 root doit sensorvalue printf 222 root type d n root type out cjson print root...
Json概述以及python對json的相關操作
對簡單資料型別的encoding 和 decoding 使用簡單的json.dumps方法對簡單資料型別進行編碼,例如 1 2 3 4 5 6 importjson obj 1,2,3 123,123.123,abc encodedjson json.dumps obj printrepr obj ...