欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

js数组使用JSON.stringify()和toString()的区别,

来源: javaer 分享于  点击 30214 次 点评:66

js数组使用JSON.stringify()和toString()的区别,


 var arr = [1,2,3,4];
 console.log(arr.toString()); //  1,2,3,4
 alert(JSON.stringify(arr));
 console.log(JSON.stringify(arr)); //  [1,2,3,4]

 arr.toString()是将数组转化成字符串,因此不带 [ ]

 而JSON.stringify(arr)是从一个对象解析出JSON字符串,是带[]的

 另外JSON.parse() 是用于从一个字符串中解析出json对象

var str = '{"name":"huangxiaojian","age":"23"}'

结果:

JSON.parse(str)

Object
  1. age"23"
  2. name"huangxiaojian"
  3. __proto__Object
============================================

JSON对象有两个方法:stringify()和parse()。在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript。例如:
新建一个HTML:代码如下:

复制代码 代码如下:
<html>
<head>
<title></title>
<script type="text/javascript">
function init()
{
var book={
title:"JavaScript高级程序设计",
authors:[
"Nicholas C. Zakas"
],
edition:3,
year:2011
};
var jsonBook=JSON.stringify(book);
var objectBook=JSON.parse(jsonBook);
var title=objectBook.title;} </script> </head> <body> <input type="button" onclick="init()" value="测试" /> </body> </html>

默认情况下,JSON.stringify()输出的JSON字符串不包含任何空字符或缩进,因此保存在jsonBook中的字符串如下所示:
复制代码 代码如下:
{"title":"JavaScript高级程序设计","authors":["Nicholas C. Zakas"],"edition":3,"year":2011}

在序列化JavaScript对象时,所有函数及原型成员都会被有意忽略,不体现在结果中。此外,值为undefined的任何属性也都会被跳过。结果中最终都是值为有效JSON数据类型的实例属性。




相关文章

    暂无相关文章

用户点评