對JSON的理解

2021-09-28 11:34:03 字數 1282 閱讀 7512

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 ...