JSON.stringify()

JSON 通常用于与服务端交换数据。

在向服务器发送数据时一般是字符串。

我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

语法

JSON.stringify(value[, replacer[, space]])

参数说明:

  • value:

    必需, 一个有效的 JSON 字符串。

  • replacer:

    可选。用于转换结果的函数或数组。

    如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。

    如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当 value 参数也为数组时,将忽略 replacer 数组。

  • space:

    可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 有可以使用非数字,如:\t。


JavaScript 对象转换

例如我们向服务器发送以下数据:

var obj = {"name":"runoob","alexa":10000,"site":"www.runoob.com"};

我们使用 JSON.stringify() 方法处理以上数据,将其转换为字符串:

var myJSON = JSON.stringify(obj);

myJSON 为字符串。

我们可以将 myJSON 发送到服务器:

实例

var obj = {"name":"runoob","alexa":10000,"site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;

JavaScript 数组转换

我们也可以将 JavaScript 数组转换为 JSON 字符串:

实例

var arr = ["Google","Runoob","Taobao","Facebook"];varmyJSON = JSON.stringify(arr);

myJSON 为字符串。

我们可以将 myJSON 发送到服务器:

实例

var arr = ["Google","Runoob","Taobao","Facebook"];varmyJSON = JSON.stringify(arr);document.getElementById("demo").innerHTML = myJSON;

异常

解析数据

JSON 不能存储 Date 对象。

JSON.stringify() 会将所有日期转换为字符串。

实例

var obj = {"name":"Runoob","initDate":newDate(),"site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;

之后你可以再将字符串转换为 Date 对象。


解析函数

JSON 不允许包含函数,JSON.stringify() 会删除 JavaScript 对象的函数,包括 key 和 value。

实例

var obj = {"name":"Runoob","alexa":function(){return10000;},"site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;

我们可以在执行 JSON.stringify() 函数前将函数转换为字符串来避免以上问题的发生:

实例

var obj = {"name":"Runoob","alexa":function(){return10000;},"site":"www.runoob.com"};obj.alexa = obj.alexa.toString();varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;

不建议在 JSON 中使用函数。


浏览器支持

主流浏览器都支持 JSON.stringify() 函数:

  • Firefox 3.5
  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4

JSON学习笔记(五)- JSON.stringify()相关推荐

  1. 【AngularJs学习笔记五】AngularJS从构建项目开始

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...

  2. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  3. Ethernet/IP 学习笔记五

    Ethernet/IP 学习笔记五 Accessing data within a device using a non-time critical message (an explicit mess ...

  4. StackExchange.Redis学习笔记(五) 发布和订阅

    StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...

  5. 吴恩达《机器学习》学习笔记五——逻辑回归

    吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...

  6. 好程序员教程分析Vue学习笔记五

    好程序员教程分析Vue学习笔记五,上次我们学习了Vue的组件,这次我们来学习一下路由的使用.在Vue中,所谓的路由其实跟其他的框架中的路由的概念差不多,即指跳转的路径. 注意:在Vue中,要使用路由, ...

  7. ROS学习笔记五:理解ROS topics

    ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...

  8. Spring Boot 框架学习笔记(五)( SpringSecurity安全框架 )

    Spring Boot 框架学习笔记(五) SpringSecurity安全框架 概述 作用 开发示例: 1. 新建项目 2. 引入依赖 3. 编写`SecurityConfig`类,实现认证,授权, ...

  9. Java学习笔记(五):一张图总结完JVM8基础概念

    Java学习笔记(五):一张图总结完JVM8基础概念 引文 最近在学习JVM的相关内容,好不容易把基础概念全部都学了一遍,却发现知识网络是零零散散的.迫不得已,只好再来一次总的归纳总结.为了更好的理解 ...

  10. Python学习笔记五:控制语句

    Python学习笔记五:控制语句 Pycharm 开发环境的下载安装配置_项目管理 控制语句 Pycharm 开发环境的使用 Pycharm 下载和安装 激活和选择不同UI 风格 创建项目和初始化配置 ...

最新文章

  1. java培训有哪些收费标准
  2. 高性能 Windows C++ 通用组件 VC-Logger v2.0.3 正式发布
  3. ubuntu 下 object-c环境配置与hello world 编译
  4. Linux基础(day59)
  5. el-select回显
  6. ikbc机械键盘打字出现重复_双十一机械键盘优惠清单,阿米洛/ikbc/吉利鸭/杜咖/美商海盗船/雷神/Filco机械键盘推荐...
  7. Ajax学习笔记-运行原理及实现-2
  8. 票据通的支票管理的账户管理的对应账号支票已使用该怎么重新修改票据打印模板;
  9. 屏蔽拦截广告(一、PC端浏览器)
  10. JavaScript练习题
  11. at android.widget.Toast$TN$1.handleMessage(java.lang.IllegalStateException)
  12. Unity Shader Color、HSV、HDRColor以及HDRColor面板转换源码分析
  13. Android5.0框架层短信接收过程分析
  14. 输入分数,判断成绩等级(使用if和switch两种方法)
  15. java代码控制电脑发出警报_java – 如何使用警报构建器对话框显示消息
  16. 什么是量子计算机 什么原理,量子计算机原理是什么?
  17. 跨境支付的噱头,你读懂了吗?
  18. python大学课程-Coursera上Python课程(公开课)汇总
  19. 高中信息技术python及答案_高中信息技术《Python语言》模块试卷.docx
  20. html仿云桌面,仿电脑桌面的云端桌面HTML源码 v1.0

热门文章

  1. 高效万进制——蓝桥杯|HDOJ 1002 大数加法——30行代码AC
  2. Spring容器中导入组件方式
  3. php mysql读取数组_php实现通用的从数据库表读取数据到数组的函数实例
  4. 简单的docker-compose编写介绍(包含 nginx+tomcat 实例演示)
  5. 详细图文演示——排除启动类故障以及Linux操作系统引导、运行级别和优化启动等相关知识
  6. 手工备份与还原Windows8激活文件
  7. 编写字符串比较函数strcmp .
  8. js保持div悬浮,不随页面向下滚动而被覆盖
  9. java process exit_Java Process exitValue()方法
  10. mysql auto_increment 原理_[Mysql]mysql原理之Auto_increment