成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

js字符串轉(zhuǎn)化成json對象,使用JSON.parse()需要注意的地方

張紅新 / 2695人閱讀

摘要:單引號與雙引號我們看到一開始的舉例中小明使用單引號來套雙引號,如果反過來寫呢,如小明相信也不少人習(xí)慣用雙引號套單引號結(jié)果使用來轉(zhuǎn)化也會報錯兼容問題瀏覽器中不支持使用方法轉(zhuǎn)成對象,所以需要引入一個文件。

相信大部分人都知道或者去百度檢索都會得到將js中的字符串轉(zhuǎn)化成json對象常見的3種方法

舉例:

var str = "{"name":"小明","age":18}";

將字符串轉(zhuǎn)化json對象:

var json = JSON.parse(str);

var json = eval("(" + str + ")");

var json = (new Function("return " + str))();

通過console.log()將json打印到控制臺,不管是使用以上3種哪一種方法,都能在chrome控制臺看到成功轉(zhuǎn)化的結(jié)果:

使用JSON.parse()方法來轉(zhuǎn)化json對象,需要注意的坑點是什么?

1.字符串的數(shù)據(jù)格式

以上舉例 str = "{"name":"小明","age":18}"; 屬性name和age都用雙引號引住,
有的人可能會習(xí)慣寫成對象形式的字符串,如:str = "{name:"小明",age:18}";
結(jié)果使用JSON.parse()來轉(zhuǎn)化會報錯,因為使用JSON.parse需嚴(yán)格遵守JSON規(guī)范。


2.單引號與雙引號

我們看到一開始的舉例中 var str = "{"name":"小明","age":18}"; 使用單引號來套雙引號,如果反過來寫呢,如:var str = "{"name":"小明", "age":18}";(相信也不少人習(xí)慣用雙引號套單引號)

結(jié)果使用JSON.parse()來轉(zhuǎn)化也會報錯


3.兼容問題
IE6/7瀏覽器中不支持使用JSON.parse()方法轉(zhuǎn)成json對象,所以需要引入一個json2.js文件??梢栽谶@個網(wǎng)站(https://github.com/douglascro...)去下載對象文件。

最后總結(jié)來說,如果使用JSON.parse()方法來轉(zhuǎn)化成json對象的數(shù)據(jù)格式的話,需要注意的是被轉(zhuǎn)化的字符串里面的屬性要使用引號,并且總體是單引號套雙引號的方式,以及IE6/7瀏覽器是不支持該方法。

當(dāng)然,如果你使用eval()或者new Function()的方式來轉(zhuǎn)化,那就完全可以忽略上述的這兩點需要注意的地方~( ̄▽ ̄~)(~ ̄▽ ̄)~哈哈

附:

eval() 函數(shù)可將字符串轉(zhuǎn)換為代碼執(zhí)行,并返回一個或多個值

eval調(diào)用時,實例為eval( "( javascript代碼 )" )

var str = "function(){alert("a");}“;

str = eval("("+str+")");

str();

eval()的返回值

eval()的返回值遵循以下規(guī)則:

1.如果eval()的參數(shù)不是字符串,那么eval()將直接返回參數(shù)。

2.如果eval()的參數(shù)是字符串,那么eval()將這個字符串解析成代碼后進(jìn)行執(zhí)行,并返回最后一行代碼執(zhí)行的結(jié)果。

3.如果字符串無法解析成合法的代碼,eval()將拋出SyntaxError錯誤。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/80757.html

相關(guān)文章

  • JSON:如果你愿意一層一層剝開我心,你會發(fā)現(xiàn)...這里水很深——深入理解JSON

    摘要:說句玩笑話,如果是基于的,可能就叫了,形式可能就是這樣的了,如果這樣,那么可能現(xiàn)在是和比較密切了。此外,還有一個函數(shù),我們較少看到,但是它會影響。 我們先來看一個JS中常見的JS對象序列化成JSON字符串的問題,請問,以下JS對象通過JSON.stringify后的字符串是怎樣的?先不要急著復(fù)制粘貼到控制臺,先自己打開一個代碼編輯器或者紙,寫寫看,寫完再去仔細(xì)對比你的控制臺輸出,如果有...

    Baaaan 評論0 收藏0
  • JavaScript對象JSON

    摘要:,指的對象表示法,它本身是個字符串,是一種數(shù)據(jù)交換格式,并非對象。字符串必須使用雙引號表示,不能使用單引號。數(shù)組或?qū)ο笞詈笠粋€成員的后面,不能有逗號。不合法的會在解析成對象時,出現(xiàn)錯誤。替代方法對象下雖然提供了完整的字符串和對象的轉(zhuǎn)換方法。 JSON(JavaScript Object Notation),指JavaScript的對象表示法,它本身是個字符串,是一種數(shù)據(jù)交換格式,并非對...

    wuyumin 評論0 收藏0
  • html5

    摘要:最典型的場景就是聊天室。主要特點就是服務(wù)器可以主動向客戶端推送信息,客戶端也可以主動向服務(wù)器發(fā)送信息,是真正的雙向平等對話,屬于服務(wù)器推送技術(shù)的一種。 語義化標(biāo)簽 input的新屬性值 表單的驗證 json的新方法 自定義屬性 拖放 canvas 地理位置的獲取 離線存儲 本地存儲 audio video 語義化標(biāo)簽 使用最多的id->當(dāng)前的語義化標(biāo)簽頁面整體...

    leiyi 評論0 收藏0
  • PHP與AJAX相愛相殺

    摘要:響應(yīng)一般由三個部分組成由一個數(shù)字和文字組成的狀態(tài)碼,用來顯示請求是成功還是失敗響應(yīng)頭,包含服務(wù)器類型,日期時間,內(nèi)容類型和長度等響應(yīng)體,也就是響應(yīng)正文。獲得形式的相應(yīng)數(shù)據(jù)。和以數(shù)字和文本形式返回狀態(tài)碼。 學(xué)習(xí)目錄: AJAX基礎(chǔ) PHP與AJAX JSON格式 jQuery中的AJAX 個人網(wǎng)站原創(chuàng)鏈接地址:不足之處歡迎留言...逃... showImg(https://segm...

    wthee 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<