stringify、parse、param、eval、serialize、serializeArray的一些使用方法

测试代码:

1)JSON.parse() 将 JSON 字符串转换成对象:

<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对象

var str = '{"name":"myName","id":"myId"}';
var obj= eval('(' + str + ')');
console.info(obj)

两者区别:

eval()和JSON.parse() 的区别: 
eval()–解析字符串时会执行该字符串中的代码,可以解析任何字符串(不安全) 
JSON.parse()–会对要解析的字符串进行格式检查,如果格式不正确则不进行解析(安全性高)

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);

猜你喜欢

转载自my.oschina.net/u/2331760/blog/1806642
今日推荐