javascript中JSON對(duì)象與JSON字符串相互轉(zhuǎn)換實(shí)例

2022-05-17 14:44 更新
本節(jié)介紹在javascript中,JSON對(duì)象與JSON字符串是如何相互轉(zhuǎn)換的。接下來(lái)請(qǐng)看相關(guān)代碼:

代碼如下:

<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 + ')');
通過(guò)上面這個(gè)表達(dá)式,就完成了將服務(wù)器端響應(yīng)給客戶(hù)端的Json格式的字符串解析成了一個(gè)Json(格式的)對(duì)象,名稱(chēng)為“json”,通過(guò)“json.”或者“json[]”的方式便可進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)。
 
在后臺(tái)對(duì)js對(duì)象和json對(duì)象的互轉(zhuǎn):
 
.NET Framework 4在System.Runtime.Serialization中。利用JavaScriptSerializer類(lèi)對(duì)數(shù)據(jù)進(jìn)行序列化和反序列化

示例:

代碼如下:
//將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沒(méi)有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()方法;

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)