1. 程式人生 > >JSON語法格式

JSON語法格式

error syn json數據格式 數據 com eva json數據 color val

一、JSON數據格式

名稱/值對

二、JSON值對數據類型

數字 字符串 邏輯值 數組(在方括號中) 對象 (在花括號中) null

eg:

{

"staff":[

{"name":"小明","age":"18"},

{"name":"小紅","age":"15"},

{"name":"小黃","age":"20"}

]

}

三、JSON解析

eval和Json.parse

eval在代碼中使用很危險,特別是用它執行第三方的Json數據(其中可能包含惡意代碼)時,盡可能使用JSON.parse()方法解析字符串本身,該方法可以捕獲JSON中的語法錯誤

eg1:

(1) var jsondata=‘{"staff":[{"name":"小明","age":"18"},{"name":"小紅","age":"15"},{"name":"小黃","age":"20"}]}‘;
var jsonbj=eval(‘(‘+jsondata+‘)‘);
alert(jsonbj.staff[0].name)

(2) var jsondata=‘{"staff":[{"name":"小明","age":"18"},{"name":"小紅","age":"15"},{"name":"小黃","age":"20"}]}‘;
var jsonbj=JSON.parse(jsondata)

;
alert(jsonbj.staff[0].name)

eg2:

(1) var jsondata=‘{"staff":[{"name":"小明","age":alert(123)},{"name":"小紅","age":"15"},{"name":"小黃","age":"20"}]}‘;
var jsonbj=eval(‘(‘+jsondata+‘)‘);
alert(jsonbj.staff[0].name)

會先彈出123,再彈出小明

(2) var jsondata=‘{"staff":[{"name":"小明","age":"18"

},{"name":"小紅","age":"15"},{"name":"小黃","age":"20"}]}‘;
var jsonbj=JSON.parse(jsondata);
alert(jsonbj.staff[0].name)

會報錯Uncaught SyntaxError: Unexpected identifier

四、JSON校驗工具(https://jsoncompare.com/#!/simple/)

JSON語法格式