国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

javascript筆記--(第二十五章)JSON

2024-04-27 15:18:01
字體:
來源:轉載
供稿:網友

JSON

SON和xml類型,都是一種結構化的數據表示方式。所以,JSON并不是javaScript獨有的數據格式,其他很多語言都可以對JSON進行解析和序列化。

JSON語法

JSON的語法可以表示三種類型的值:簡單值,對象,數組。

簡單值

可以在JSON中表示字符串、數值、布爾值和null。但JSON不支持Javascript中的特殊值undefined。

對象

JSON中的對象表示法需要加上雙引號
{	"name" : "Lee",//使用雙引號,否則轉換會出錯	"age" : 100}

數組

[100, "Lee", true]一般比較常用的一種復雜形式是數組結合對象的形式:
[	{		"title" : "a",		"num" : 1	},	{		"title" : "b",		"num" : 2	},	{		"title" : "c",		"num" : 3	}]

解析和序列化

JSON對象提供了兩個方法,一個是將原生JavaScript值轉換為JSON字符串:stringify();另一個是將JSON字符串轉換為JavaScript原生值:parse()。

stringify()

stringify()方法接受三個參數,第一個是必須的,其他兩個可選。第二個參數可以是一個數組,也可以是一個函數,用于過濾結果。第三個個參數則表示是否在JSON字符串中保留縮進。
<script type="text/javascript">	var box = [{name : 'a', age : 1, height : 177},{name : 'b', age : 2, height : 188}];	var json = JSON.stringify(box, ['name'],0);//[{"name":"a"},{"name":"b"}]	console.log(json);</script>如果不需要保留縮進,則不填即可;如果不需要過濾結果,但又要保留縮進,則講過濾結果的參數設置為null。如果采用函數,可以進行復雜的過濾
<script type="text/javascript">	var box = [{name : 'a', age : 1, height : 177},{name : 'b', age : 2, height : 188}];	var json = JSON.stringify(box, ['name'],4);	console.log(json);</script>運行結果函數不能刪除鍵值對,只能修改,并且不能返回null或者空字符串還有一種方法可以自定義過濾一些數據,使用toJSON()方法,可以將某一組對象里指定返回某個值。
<script type="text/javascript">	var box = [{name : 'a', age : 1, height : 177, toJSON : function () {		return this.name;	}},{name : 'b',age : 2, height : 188, toJSON : function () {		return this.name;	}}];	var json = JSON.stringify(box, function (key, value) {		switch (key) {			case 'name' : 				return 'Mr. ' + value;			case 'age' : 				return value + 'year';			default : 				return value;		}	}, 4);	console.log(json);</script>運行結果如果對象里已經有了toJSON函數,則第二個參數是無效的

parse()

parse()接受兩個參數,第一個是必須的,第二個參數是一個函數(數組無效)
<script type="text/javascript">	var box = '[{"name" : "a","age" : 1},{"name" : "b","age" : 2}]';	var json = JSON.parse(box, function (key, value) {		if (key == 'name') {			return 'Mr. ' + value;		} else {			return value;		}	});	console.log(json[0].name);</script>
上一篇:31.提示標簽

下一篇:splice()方法功能

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遂昌县| 满洲里市| 漳平市| 衡南县| 工布江达县| 南漳县| 太保市| 台州市| 赫章县| 措美县| 平南县| 梁平县| 顺平县| 奉贤区| 南京市| 鹤峰县| 增城市| 措勤县| 胶州市| 鹤壁市| 西吉县| 大英县| 永泰县| 米易县| 昌都县| 运城市| 宝丰县| 师宗县| 盈江县| 弥渡县| 黎城县| 富源县| 鄂州市| 雅江县| 玛纳斯县| 辽源市| 乌什县| 泗洪县| 安岳县| 洪江市| 阳江市|