JSON.stringify()
1.说明 JSON 通常用于与服务端交换数据。 在向服务器发送数据时一般是字符串。 我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。 ? 2.语法 JSON.stringify(value[, replacer[, space]]) 参数说明:
? 3.json对象转换示例 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gbk"> 5 <title>教程</title> 6 </head> 7 <body> 8 <p id="demo"></p> 9 <p id="demo1"></p> 10 <script> 11 var obj = { "name":"runoob","alexa":10000,"site":"www.runoob.com"}; 12 var myJSON = JSON.stringify(obj); 13 document.getElementById("demo").innerHTML = myJSON; 14 document.getElementById("demo1").innerHTML = obj; 15 </script> 16 </body> 17 </html> 效果: 发现,json不能直接显示。
? 4.json数组转换示例 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gbk"> 5 <title>教程</title> 6 </head> 7 <body> 8 <p id="demo"></p> 9 10 <script> 11 var arr = [ "Google","Runoob","Taobao","Facebook" ]; 12 var myJSON = JSON.stringify(arr); 13 document.getElementById("demo").innerHTML = myJSON; 14 </script> 15 </body> 16 </html> 效果:
? 5.异常 JSON 不能存储 Date 对象。 JSON.stringify() 会将所有日期转换为字符串。 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gbk"> 5 <title>教程</title> 6 </head> 7 <body> 8 <p id="demo"></p> 9 10 <script> 11 var obj = { "name":"Runoob","initDate":new Date(),"site":"www.runoob.com"}; 12 var myJSON = JSON.stringify(obj); 13 document.getElementById("demo").innerHTML = myJSON; 14 </script> 15 </body> 16 </html> 效果:
? 6.解析函数 JSON 不允许包含函数,JSON.stringify() 会删除 JavaScript 对象的函数,包括 key 和 value。 所以: 我们可以在执行 JSON.stringify() 函数前将函数转换为字符串来避免以上问题的发生: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gbk"> 5 <title>教程</title> 6 </head> 7 <body> 8 <p id="demo"></p> 9 10 <script> 11 var obj = { "name":"Runoob","alexa":function () {return 10000;},"site":"www.runoob.com"}; 12 obj.alexa = obj.alexa.toString(); 13 var myJSON = JSON.stringify(obj); 14 document.getElementById("demo").innerHTML = myJSON; 15 </script> 16 </body> 17 </html> 效果:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |