js字符串轉(zhuǎn)json的三種簡單方法舉例
1.eval方式解析
function strToJson(str){
var json = eval("(" + str + ")");
return json;
}
console.log(strToJson("{'int':1, 'string':'demo'}"));運行截圖:

注: 記得別忘了str兩旁的小括號。
永遠(yuǎn)不要使用 eval !!!
eval() 是一個危險的函數(shù), 它使用與調(diào)用者相同的權(quán)限執(zhí)行代碼。如果你用 eval() 運行的字符串代碼被惡意方(不懷好意的人)修改,您最終可能會在您的網(wǎng)頁/擴展程序的權(quán)限下,在用戶計算機上運行惡意代碼。更重要的是,第三方代碼可以看到某一個 eval() 被調(diào)用時的作用域,這也有可能導(dǎo)致一些不同方式的攻擊。相似的 Function 就不容易被攻擊
2.new Function形式
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}
console.log(strToJson("{'int':1, 'string':'demo'}"));運行截圖:

3.使用全局的JSON對象
function strToJson(str){
return JSON.parse(str);
}
console.log(strToJson('{"int":1, "string":"demo"}'));
運行截圖:

注: 單引號,雙引號的位置。 使用JSON.parse需嚴(yán)格遵守JSON規(guī)范,如屬性都需用引號引起來。
總結(jié)
到此這篇關(guān)于js字符串轉(zhuǎn)json的三種簡單方法的文章就介紹到這了,更多相關(guān)js字符串轉(zhuǎn)json內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS中g(shù)etElementsByClassName與classList兼容性問題解決方案分析
這篇文章主要介紹了JS中g(shù)etElementsByClassName與classList兼容性問題解決方案,結(jié)合實例形式分析了getElementsByClassName與classList的使用方法、原理及兼容性問題的處理技巧,需要的朋友可以參考下2019-08-08
firefox下input type="file"的size是多大
firefox對type="file" 的input的width定義目前是不支持的,但是FF支持size屬性,可以給size設(shè)置一個值,來控制上傳框的大小2011-10-10
Javascript的常規(guī)數(shù)組和關(guān)聯(lián)數(shù)組對比小結(jié)
關(guān)聯(lián)數(shù)組雖然可以用字符串作下標(biāo),但是這個下標(biāo)是不支持參數(shù)傳值的,換言之,你需要什么就取什么,聽起來很智能,實際上你取值仍然需要你手動去寫下標(biāo)的2012-05-05

