這次帶給大家JSON.parse()與JSON.stringify()和eval()使用方法詳解,JSON.parse()與JSON.stringify()和eval()使用的注意事項有哪些,下面就是實戰案例,一起來看一下。
「JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。它是基於ECMAScript的子集。因為採用獨立於語言的文字格式,也使用了類似C語言家族的習慣,擁有了這些特性使JSON成為理想的資料交換語言,作用是易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提升網絡傳輸速率)。
今天在這裡筆者想簡單談談jquery裡面的JSON.parse()和JSON.stringify()函數,順便還會提一下原生JS裡面的eval()函數#(1)JSON.parse 函數
作用:將JavaScript 物件表示法(JSON)字串轉換為物件。
語法:JSON.parse(text [, reviver])參數:text 必要。一個有效的 JSON 字串。 reviver 可選。一個轉換結果的函數。將為物件的每個成員呼叫此函數。傳回值:一個物件或陣列
var json = '{"name":"GDT","age":,"University":"GDUT"}'; var info = JSON.parse(json); //解析为JSON对象 document.write(info.name + ' is a student of ' + info.University + ' and he is ' + info.age + " years old."); /info为Object对象
(2)JSON.stringify()函數
#作用:將JavaScript 值轉換為JavaScript 物件表示法(JSON) 字串
語法:JSON.stringify( value [, replacer] [, space])
#參數:
value 必需,通常為需要轉換的JavaScript值(通常為物件或陣列)
replacer 可選,用於轉換結果的函數或陣列space 可選。在返回值 JSON 文字中新增縮排、空格和換行符以使其更易於讀取。
傳回值:一個包含JSON文字的字串
example:
var info = {name:"GDT",age:,University:"GDUT"}; var json = JSON.stringify(info); //转换为JSON字符串 document.write(json); //output为{"name":"GDT","age":23,"University":"GDUT"}
(3)eval()函數
作用:eval() 函數可計算某個字串,並執行其中的的JavaScript 程式碼。
語法:eval(string)
參數:
string 必需,要計算的字串,其中包含要計算的JavaScript
表達式或要執行的語句。
###傳回值:傳回計算string的值,如果有的話(沒有則不做任何改變回傳)######example:###eval("x=;y=;document.write(x*y)"); //output为 document.write(eval("+")); //output为 var x=; document.write(eval(x+)); //output为
// JSON.parse() var json = '{"name":"GDT","age":,"University":"GDUT"}'; var info = JSON.parse(json); //解析为JSON对象 document.write(info); //output为[object Object] //eval() var json = '{"name":"GDT","age":,"University":"GDUT"}'; var info = eval('(' + json + ')'); //解析为JSON对象 document.write(info); //output为[object Object]
alert(eval("{}")); // return undefined alert(eval('('+'{}'+')')); // return object[Object]
var str = '{"a":"b"}'; document.write(eval("("+str+")")); //正常解析为对象 var str = '{"a": (function(){alert("I can do something bad!");})()}'; eval('('+str+')'); //可以用来执行木马脚本
以上是JSON.parse()與JSON.stringify()和eval()使用方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!