js数组使用JSON.stringify()和toString()的区别,JSON.parse
JSON.stringify()中的<br><br>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
SON对象有两个方法: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数据类型的实例属性。解析:
var str=JSON.stringify():是转化成json格式的字符串的,
假如现在要想取值,可以截取,最好的办法就是把这个json格式的字符串转成成对象,然后对着这对象进行操作
var objectBook=JSON.parse(str);现在就是一个对象了
那么就可以通过对象.属性的逻辑来处理问题了。
同时:我们还要知道字符串,json字符串和json对象的区别
字符串:这个很好解释,指使用“”双引号或’’单引号包括的字符。例如:var comStr = 'this is string';
json字符串:指的是符合json格式要求的js字符串。例如:var jsonStr = "{StudentID:'100',Name:'tmac',Hometown:'usa'}";
json对象:指符合json格式要求的js对象。例如:var jsonObj = { StudentID: "100", Name: "tmac", Hometown: "usa" };
js数组使用JSON.stringify()和toString()的区别,JSON.parse的更多相关文章
- json.stringify()的妙用,json.stringify()与json.parse()的区别
一.JSON.stringify()与JSON.parse()的区别 最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道JSON.stringify()的作用是将 JavaS ...
- qs.stringify和JSON.stringify的使用和区别
qs可通过npm install qs命令进行安装,是一个npm仓库所管理的包. 而qs.stringify()将对象 序列化成URL的形式,以&进行拼接. JSON是正常类型的JSON,请对 ...
- js数组键入值push和 arr[]i]区别
push 和 arr[i] 遍历 var arr = new Array(); $(":check").each(function(i){if(this.checked==true ...
- 【js】JSON.stringify 语法实例讲解
语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为 ...
- Js中JSON.stringify()与JSON.parse()与eval()详解及使用案例
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使使JSON称为理想的数据交换语 ...
- js判断对象为空 JSON.stringify(obj)
JSON.stringify(obj) : 用于从一个对象解析出字符串 var c = {}; if(JSON.stringify(obj) == "{}"){ console.l ...
- javascript 中的JSON.stringify - 将对象和数组转换为json格式(来源于网络)
JSON.stringify 函数 (JavaScript) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. JSON.stringi ...
- Js JSON.stringify()与JSON.parse()与eval()详解及使用案例
(1)JSON.parse函数 作用:将json字符串转换成json对象. 语法:JSON. parse(text[,reviver]). 参数:text 必须:一个有效的json字符串. revi ...
- Js中JSON.stringify()与JSON.parse()
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使使JSON称为理想的数据交换语 ...
随机推荐
- dfs_SPFA 判负环
感觉有点像tarjan求SCC #include <iostream> #include <cstdio> #include <algorithm> #includ ...
- script 有哪个属性可以让它不立即执行 defer,async
.async 和 defer 属性 http://blog.csdn.net/qq_34986769/article/details/52155871 1. defer 属性<script sr ...
- react native 常用组件汇总
react-native-uploader //文件上传https://github.com/aroth/react-native-uploader jpush-react-native //官方版本 ...
- Django搭建博客网站(一)
Django搭建自己的博客网站(一) 简介 这个系列主要是通过使用Django这个python web框架实现一个简单的个人博客网站.对Django有疑问可以上Django官网查文档. 功能 后台管理 ...
- javaweb下载文件模板
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax ...
- iOS通知传值的使用
通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便.便捷,一个简单的Demo实现通知的跳转传值. 输入所要发送的信息 ,同时将label的值通过button方法调用传递, - (IB ...
- css scale 元素放大缩小效果
<style> .trans-scale { width: 300px; height:300px; margin:100px auto; background:#99F; transit ...
- 正则表达式的方法:replace,match,test(replace参数可以是回调函数)
1.replace: 作用对象:字符串 功能:用于替换字符串中的某些字符 参数:(1)正则表达式 (2)要替换的字符串 或者 回调函数 var str="1 2 3 4 5 6 7 8 9& ...
- IE8兼容问题总结---trim()方法
1.IE8不支持,jquery的trim()去空格的方法 错误表现 : 会报错,对象不支持此属性或方法; 解决办法 : 使用正则匹配空格 例如 : /^\s+|\s+$/greplace(/^\s+| ...
- RHEL6误安装RHEL7的包导致glibc被升级后系统崩溃处理方法
RHEL6误使用了RHEL7的光盘源,安装了某个RPM包之后,导致glibc被升级,进而导致系统崩溃. [root@rhel65 ~]# yum install ftp Loaded plugin ...