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

2022-05-17 14:44 更新
本節(jié)介紹在javascript中,JSON對象與JSON字符串是如何相互轉(zhuǎn)換的。接下來請看相關(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;

        //通過字面量的形式來定義對象
        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對象(數(shù)組)
        var resobj = JSON.parse(str);
        alert(resobj.Name);

    </script>
</head>
<body>
</body>
</html>

在前端js對象和json對象的互轉(zhuǎn):

JS對象轉(zhuǎn)換成為JSON

處理:引用一個json2.js文件,調(diào)用JSON.stringify()方法。例如:

代碼如下:
var data = new Object();
var json_data = JSON.stringify(data);

PS:json2.js這個文件在網(wǎng)上搜一下就能下載到。

JSON轉(zhuǎn)換成為JS

1.處理:用jQuery的一個方法$.parseJSON()將JSON格式的數(shù)據(jù)轉(zhuǎn)成JS對象。例如:

代碼如下:
var json_data = $.getJSON();
var data = $.parseJSON(json_data);

(可用來成轉(zhuǎn)換js數(shù)組)


2.將json轉(zhuǎn)換成js對象的方法:

代碼如下:
var json = eval('(' + result + ')');
通過上面這個表達(dá)式,就完成了將服務(wù)器端響應(yīng)給客戶端的Json格式的字符串解析成了一個Json(格式的)對象,名稱為“json”,通過“json.”或者“json[]”的方式便可進(jìn)行數(shù)據(jù)訪問。
 
在后臺對js對象和json對象的互轉(zhuǎn):
 
.NET Framework 4在System.Runtime.Serialization中。利用JavaScriptSerializer類對數(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對象
反過來,使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray();

瀏覽器支持的轉(zhuǎn)換方式(Firefox,chrome,opera,safari,ie9,ie8)等瀏覽器 
代碼如下: 

JSON.parse(jsonstr); //可以將json字符串轉(zhuǎn)換成json對象 
JSON.stringify(jsonobj); //可以將json對象轉(zhuǎn)換成json對符串

注:ie8(兼容模式),ie7和ie6沒有JSON對象,需要引入 json.js 或 json2.js。

Javascript支持的轉(zhuǎn)換方式 

eval('(' + jsonstr + ')'); //可以將json字符串轉(zhuǎn)換成json對象,注意需要在json字符外包裹一對小括號 
注:ie8(兼容模式),ie7和ie6也可以使用eval()將字符串轉(zhuǎn)為JSON對象,但不推薦這些方式,這種方式不安全eval會執(zhí)行json串中的表達(dá)式。

JSON官方的轉(zhuǎn)換方式 

http://www.json.org/,提供了一個json.js,這樣ie8(兼容模式),ie7和ie6就可以支持JSON對象以及其stringify()和parse()方法;

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號