JavaScript實現(xiàn)字符串轉JSON對象的4種方法代碼
在很多時候我們都需要將數(shù)據(jù)轉換為JSON的格式去進行請求,這里就給大家介紹幾種轉JSON的方法
1. javascript函數(shù)eval()
語法:
var obj = eval ("(" + txt + ")"); //必須把文本包圍在括號中,這樣才能避免語法錯誤
eval()定義:eval() 函數(shù)可計算某個字符串,并執(zhí)行其中的的 JavaScript 代碼。
由于 JSON 語法是 JavaScript 語法的子集,JavaScript 函數(shù) eval() 可用于將 JSON 文本轉換為 JavaScript 對象。
注意:當字符串中包含表達式時,eval() 函數(shù)也會編譯并執(zhí)行,轉換會存在安全問題。
2. 瀏覽器自帶對象JSON,JSON.parse()
語法:
var obj = JSON.parse(text[, reviver]) //text:必需, 一個有效的 JSON 字符串。解析前要確保你的數(shù)據(jù)是標準的 JSON 格式,否則會解析出錯。 //reviver: 可選,一個轉換結果的函數(shù), 將為對象的每個成員調用此函數(shù)。
JSON.parse()比eval()安全,而且速度更快
支持主流瀏覽器:Firefox 3.5,IE 8,Chrome,Opera 10,Safari 4。
注意:IE8兼容模式,IE 7,IE 6,會存在兼容性問題。
3. jQuery插件,$.parseJSON()
語法:
var obj = $.parseJSON(json) //json:String類型,傳入格式有誤的JSON字符串可能導致拋出異常
4. ajax請求獲取json數(shù)據(jù)時,$.getJSON()
語法:
jQuery.getJSON(url,data,success(data,status,xhr)) //url 必需。規(guī)定將請求發(fā)送的哪個 URL。 //data 可選。規(guī)定連同請求發(fā)送到服務器的數(shù)據(jù)。 //success(data,status,xhr) 可選。規(guī)定當請求成功時運行的函數(shù)。
這個時候返回的data已經(jīng)是JSON對象,不需要再進行轉換。
$.getJSON() 是簡寫的 Ajax 函數(shù),等價于:
$.ajax({ url: url, data: data, success: callback, dataType: "json" });
總結
到此這篇關于JavaScript實現(xiàn)字符串轉JSON對象的4種方法的文章就介紹到這了,更多相關JS字符串轉JSON對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Javascript highcharts 餅圖顯示數(shù)量和百分比實例代碼
這篇文章主要介紹了Javascript highcharts 餅圖顯示數(shù)量和百分比實例代碼的相關資料,這里附有實例代碼,需要的朋友可以參考下2016-12-12javascript實現(xiàn)unicode與ASCII相互轉換的方法
這篇文章主要介紹了javascript實現(xiàn)unicode與ASCII相互轉換的方法,涉及JavaScript字符串的遍歷、正則匹配及編碼轉換相關技巧,需要的朋友可以參考下2015-12-12詳解如何使用JSZip實現(xiàn)在瀏覽器中操作文件與文件夾
這篇文章主要介紹了如何使用JSZip實現(xiàn)在瀏覽器中操作文件與文件夾,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考一下2024-04-04javascript Onunload與Onbeforeunload使用小結
Onunload,onbeforeunload都是在刷新或關閉時調用,可以在<script>腳本中通過window.onunload來指定或者在<body>里指定。區(qū)別在于onbeforeunload在onunload之前執(zhí)行,它還可以阻止onunload的執(zhí)行。2009-12-12