測試代碼:javascript
1)JSON.parse() 將 JSON 字符串轉換成對象:html
<html> <body> <script type="text/javascript"> var str = '{"name":"myName","id":"myId"}'; var obj=JSON.parse(str); console.info(obj); </script> </body> </html>
2)eval() 和 JSON.parse()同樣都是json的的解析方法,把json字符串解析爲一個object對象java
var str = '{"name":"myName","id":"myId"}'; var obj= eval('(' + str + ')'); console.info(obj)
二者區別:jquery
eval()和JSON.parse() 的區別:
eval()–解析字符串時會執行該字符串中的代碼,能夠解析任何字符串(不安全)
JSON.parse()–會對要解析的字符串進行格式檢查,若是格式不正確則不進行解析(安全性高)json
3)JSON.stringify()將對象轉爲JSON字符串數組
var obj={name:"myName",id:"myId"}; var str= JSON.stringify(obj); console.info(str);
4)jQuery.param()函數用於將一個JS數組或純粹的對象序列化爲字符串值,以便用於URL查詢字符串或AJAX請求安全
<!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js"></script> <script> var personObj=new Object(); personObj.firstname="John"; personObj.lastname="Doe"; personObj.age=50; personObj.eyecolor="blue"; console.info($.param(personObj)); </script> </head> <body> <h1 id="h01"></h1> </body> </html>
$.param的詳細用法請見博客中的另一篇文章數據結構
5)$(selector).serialize() 這個方法是用來序列化表單值的,底層也是使用了$.param函數
$('#form').serialize();//格式:a=1&b=2&c=3&d=4&e=5
6)serializeArray() 方法經過序列化表單值來建立對象(name 和 value)的數組,返回 JSON 數據結構數據測試
var param =$("form").serializeArray(); console.info(param);