您的位置:首页 > Web前端 > JavaScript

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

2018-03-09 14:02 274 查看

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数据类型的实例属性。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: