日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

JS对象和JSON字符串相互转化总结

發(fā)布時(shí)間:2025/7/25 73 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS对象和JSON字符串相互转化总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在web開(kāi)發(fā)中,一般情況下需要前端和服務(wù)器的交換數(shù)據(jù),我們一般使用JSON來(lái)完成數(shù)據(jù)的傳輸,JavaScript操作的對(duì)象是一般是變量;因此我們需要將JSON字符串轉(zhuǎn)換為JS變量,下面總結(jié)JS對(duì)象和JSON字符串相互轉(zhuǎn)換的方法總結(jié);

變量區(qū)分

//Json字符串 var json_str = '{"name":"xiao","age":12}'; //JS對(duì)象(字符串常量法): var js_obj = {name: "xiao", age: 12};//Josn對(duì)象: var json_obj = {"name":"xiao","age":12}; //json數(shù)組: var objArray = [{"name":"xiao","age":12}, {"name":"xiao","age":12}];

JSON對(duì)象和JS對(duì)象本質(zhì)是一致的,至少內(nèi)在表現(xiàn)形式是一樣的,如下圖所示:

JSON字符串->JS對(duì)象

JSON字符串轉(zhuǎn)換為JS對(duì)象大致有三種,分別是eval()原生函數(shù),JSON提供的Parse方法,以及new Function方法,下面一一測(cè)試。

  • eaval()函數(shù)
//需要增加一對(duì)括號(hào),避免語(yǔ)法錯(cuò)誤,該方法存在性能和安全方面的問(wèn)題,不建議使用。 //方法一: var json_obj_case1 = eval('(' + json_str+')');

加上圓括號(hào)的目的是迫使eval函數(shù)在處理JavaScript代碼的時(shí)候強(qiáng)制將括號(hào)內(nèi)的表達(dá)式(expression)轉(zhuǎn)化為對(duì)象,而不是作為語(yǔ)句(statement)來(lái)執(zhí)行,這是eval本身的問(wèn)題。

  • Parse方法
//方法二: var json_obj_case2 = json_str.parseJSON(); var json_obj_case3 = JSON.parse(json_str);
  • new Function()方法
//方法三: var json_obj_case4 = (new Function("return " + json_str))();

以下是goole瀏覽器中轉(zhuǎn)換的測(cè)試結(jié)果:

JS對(duì)象->JSON字符串

相反的,我們也會(huì)遇到需要將JS對(duì)象轉(zhuǎn)換為字符串,傳遞給服務(wù)器,下面就是將JS對(duì)象轉(zhuǎn)換為JSON字符串,有兩種方法:

  • stringify函數(shù)
//方法一 var json_str_case1 = JSON.stringify(js_obj);
  • toJSONString函數(shù)
//方法二 var json_str_case2 = js_obj.toJSONString();

以下是JSON對(duì)象,JS對(duì)象轉(zhuǎn)換為JSON字符串的測(cè)試結(jié)果:

轉(zhuǎn)載于:https://www.cnblogs.com/jinxiang1224/p/8468293.html

總結(jié)

以上是生活随笔為你收集整理的JS对象和JSON字符串相互转化总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。