JSON的詳細使用

2021-10-01 14:37:37 字數 2408 閱讀 2527

1.陣列或物件的每個成員的值,可以是簡單值,也可以是復合值。

2.簡單值分為四種:字串、數值(必須以十進位制表示)、布林值和null。3.復合值分為兩種:符合json格式的物件和符合json格式的陣列。

4.陣列或物件最後乙個成員的後面,不能加逗號。

5.陣列或物件之中的字串必須使用雙引號,不能使用單引號。

6.物件的成員名稱必須使用雙引號。以下是合格的json值。

[「one」,「two」,「three」]

[,]以下是不合格的json值。

//屬性名必須使用雙引號

[32,64,128,0xfff]//不能使用十六進製制值

//不能使用undefined

}//不能使用函式和日期物件需要注意的是,空陣列和空物件都是合格的json值,null本身也是乙個合格的json值。

json.

stringify

("abc"

);//""abc""

json.

stringify

();//

如果乙個值是undefined、函式或xml物件,這個值會被省略,除非該值是陣列的成員,則返回null。

json.

stringify

(,a:

[function()

,undefined]

});//""該方法還可以接受乙個陣列引數,表示需要轉化的屬性。

json.

stringify(,

['a'

]);//""該方法還可以接受乙個函式作為引數,用來更改預設的序列化的行為。

functionf

(key,value)

returnvalue;}

json.

stringify

(,f)

//""上面**中的f函式,接受兩個引數,分別是被轉化物件的鍵和值。這裡需要特別注意的是,被處理的除了原有的鍵,還會新增乙個空白的鍵,對應整個被轉化的物件,所以處理之前,必需對鍵或值做乙個判斷。

functionf

(key,value)

json.

stringify

(,f)

//:[objectobject]//[a]:1//[b]:2//""如果經過處理,某個屬性返回undefined或沒有返回值,則該屬性會被忽略。

functionf

(key,value)

returnvalue;}

json.

stringify

(,f)

//""這裡需要注意的是,如果某個屬性的值是乙個物件,則會展開這個物件,先處理它的內部屬性。另外,前面說過,有乙個鍵是空鍵,對應整個被轉化的物件。最後真正進行序列化的,實際上就是空鍵對應的那個值,其他的鍵都是用來幫助空鍵完成那個值。

functionf

(key,value)

if(key===

"a")

}json

.stringify

(,f)

//""json.stringify還可以接受第三個引數,用於增加返回的json字串的可讀性。如果是數字,表示每個屬性前面新增的空格(最多不超過10個);如果是字串(不超過10個字元),則該字串會新增在每行前面。

json.stringify(,null,2);//""

json.stringify(,null,"|");//""如果json.stringify處理的物件,包含乙個tojson方法,則它會使用這個方法得到乙個值,然後再轉成字串。

json.stringify(})//""cool""date物件本身就部署了tojson方法。json.stringify(newdate("20110729"))//""20110729t00:00:00.000z""json.parse()該方法用於將json字串轉化成物件。json.parse('{}');//{}json.parse('true');//true

json.parse('"foo"');//"foo"

json.parse('[1,5,"false"]');//[1,5,"false"]

json.parse('null');//null

varo=json.parse('');o.name//張三如果傳入的字串不是有效的json格式,json.parse將報錯。json.parse("'string'")//illegalsinglequotes'"string"')//"string"為了處理解析錯誤,可以將json.parse放在try\catch**塊中。該方法可以接受乙個過濾函式,用法與json.stringify類似。

functionf(key,value)if(key==="a")}

varo=json.parse('',f);o.a

DataX執行的json檔案詳細解析

dn 要讀取的hdfs上的資料庫的路徑 defaultfs hdfs位址,ha是hdfs mycluster hadoopconfig type string 每個列封裝成乙個json物件,讀列通過下標索引讀取資料塊中的列 type是資料庫中列對應的資料型別 外部傳入的引數使用固定值value接收。...

JSON的理解使用

寫乙個介面,由於同事是android的,用json比較方便,使用了,便於他呼叫。介面 較煩。需要標頭檔案cjson.h,cjson.c,乙個實驗 root doit sensorvalue printf 222 root type d n root type out cjson print root...

json的簡單使用

1.解析json串 str json reader reader json value root,msg if reader.parse str,root reader將json字串解析到root,root將包含json裡所有子元素 json 陣列 channels msgg channels ss...