<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
var obj = new Object();
obj.Name = "八戒"
obj.Age = 500;
//通過(guò)字面量的形式來(lái)定義對(duì)象
var obj1 = { "Name": "八戒", "Age": "500" };
var arr = [{ "Name": "八戒", "Age": "500" }, { "Name": "八戒1", "Age": "1000" }];
//JSON格式:將json的字面量表示形式,當(dāng)做字符串存放,則為json格式字符串
var str = '{ "Name": "八戒", "Age": "500" }';
var jsonstrarr = '[{ "Name": "八戒", "Age": "500" }, { "Name": "八戒1", "Age": "1000" }];';
//將json字符串轉(zhuǎn)換成js對(duì)象(數(shù)組)
var resobj = JSON.parse(str);
alert(resobj.Name);
</script>
</head>
<body>
</body>
</html>
在前端js對(duì)象和json對(duì)象的互轉(zhuǎn):
JS對(duì)象轉(zhuǎn)換成為JSON
處理:引用一個(gè)json2.js文件,調(diào)用JSON.stringify()方法。例如:
var data = new Object();
var json_data = JSON.stringify(data);
PS:json2.js這個(gè)文件在網(wǎng)上搜一下就能下載到。
JSON轉(zhuǎn)換成為JS
1.處理:用jQuery的一個(gè)方法$.parseJSON()將JSON格式的數(shù)據(jù)轉(zhuǎn)成JS對(duì)象。例如:
var json_data = $.getJSON();
var data = $.parseJSON(json_data);
(可用來(lái)成轉(zhuǎn)換js數(shù)組)
2.將json轉(zhuǎn)換成js對(duì)象的方法:
var json = eval('(' + result + ')');
示例:
//將param反序列列l(wèi)ist集合
List<ApplyPart> _ApplyPart = new JavaScriptSerializer().Deserialize<List<ApplyPart>>(param);
jQuery插件支持的轉(zhuǎn)換方式
代碼如下:
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字符串轉(zhuǎn)換成json對(duì)象
反過(guò)來(lái),使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray();
瀏覽器支持的轉(zhuǎn)換方式(Firefox,chrome,opera,safari,ie9,ie8)等瀏覽器
代碼如下:
JSON.parse(jsonstr); //可以將json字符串轉(zhuǎn)換成json對(duì)象
JSON.stringify(jsonobj); //可以將json對(duì)象轉(zhuǎn)換成json對(duì)符串
注:ie8(兼容模式),ie7和ie6沒有JSON對(duì)象,需要引入 json.js 或 json2.js。
Javascript支持的轉(zhuǎn)換方式
eval('(' + jsonstr + ')'); //可以將json字符串轉(zhuǎn)換成json對(duì)象,注意需要在json字符外包裹一對(duì)小括號(hào)
注:ie8(兼容模式),ie7和ie6也可以使用eval()將字符串轉(zhuǎn)為JSON對(duì)象,但不推薦這些方式,這種方式不安全eval會(huì)執(zhí)行json串中的表達(dá)式。
JSON官方的轉(zhuǎn)換方式
http://www.json.org/,提供了一個(gè)json.js,這樣ie8(兼容模式),ie7和ie6就可以支持JSON對(duì)象以及其stringify()和parse()方法;