JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,可讀性強(qiáng),易于人類閱讀和編寫,同時也適合機(jī)器解析和生成。
JSON的數(shù)據(jù)結(jié)構(gòu)由兩種基本結(jié)構(gòu)組成:鍵值對和數(shù)組。
// 鍵值對結(jié)構(gòu)示例 { "name": "張三", "age": 25, "job": "程序員" } // 數(shù)組結(jié)構(gòu)示例 [ { "name": "張三", "age": 25, "job": "程序員" }, { "name": "李四", "age": 30, "job": "設(shè)計師" }, { "name": "王五", "age": 35, "job": "工程師" } ]
JSON提供了四種數(shù)據(jù)類型:字符串、數(shù)值、布爾值和null。
// 字符串 { "name": "張三", "job": "程序員" } // 數(shù)值 { "age": 25, "salary": 8000.50 } // 布爾值 { "married": true } // null { "education": null }
在JSON中,鍵必須是字符串類型,值可以是任意JSON數(shù)據(jù)類型。鍵和值之間用冒號隔開,多組鍵值對之間用逗號隔開。
{ "name": "張三", "age": 25, "job": "程序員", "skills": ["Java", "Python", "JavaScript"], "education": null, "married": false }
在JavaScript中,可以使用JSON對象的方法來編碼和解碼JSON數(shù)據(jù)。
// 編碼JSON數(shù)據(jù) const data = { name: '張三', age: 25, job: '程序員' }; const jsonData = JSON.stringify(data); console.log(jsonData); // 輸出 '{"name":"張三","age":25,"job":"程序員"}' // 解碼JSON數(shù)據(jù) const jsonStr = '{"name":"張三","age":25,"job":"程序員"}'; const dataObj = JSON.parse(jsonStr); console.log(dataObj); // 輸出 { name: '張三', age: 25, job: '程序員' }
總之,JSON編碼是一種廣泛應(yīng)用的數(shù)據(jù)交換格式,是構(gòu)建大型Web應(yīng)用程序的不可缺少的工具。