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

 我来答
就烦条0o
2017-09-03 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46485
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
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
age: "23"
name: "huangxiaojian"
__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数据类型的实例属性。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式