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

本文探讨了JavaScript中的JSON.stringify()和JSON.parse()方法,如何将JavaScript对象转化为JSON字符串并解析回原始对象,以及它们在处理数组和对象时的区别。通过实例演示了如何操作并展示了在实际开发中的应用场景。
摘要由CSDN通过智能技术生成

 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" οnclick="init()" value="测试" /> </body> </html>


默认情况下,JSON.stringify()输出的JSON字符串不包含任何空字符或缩进,因此保存在jsonBook中的字符串如下所示:

复制代码 代码如下:


{"title":"JavaScript高级程序设计","authors":["Nicholas C. Zakas"],"edition":3,"year":2011}


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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值