JS对象和JSON字符串相互转化总结
在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ù)
加上圓括號(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方法
- new Function()方法
以下是goole瀏覽器中轉(zhuǎn)換的測(cè)試結(jié)果:
JS對(duì)象->JSON字符串
相反的,我們也會(huì)遇到需要將JS對(duì)象轉(zhuǎn)換為字符串,傳遞給服務(wù)器,下面就是將JS對(duì)象轉(zhuǎn)換為JSON字符串,有兩種方法:
- stringify函數(shù)
- toJSONString函數(shù)
以下是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)題。
- 上一篇: 【二分图】洛谷P1640连续攻击游戏
- 下一篇: Spring+SpringMVC+MyB