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"}; var myJSON = JSON.stringify(obj); document.getElementById("demo").innerHTML = myJSON;

尝试一下 »


JavaScript 数组转换

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

实例

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

myJSON 为字符串。

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

实例

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

尝试一下 »


异常

解析数据

JSON 不能存储 Date 对象。

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

实例

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

尝试一下 »

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


解析函数

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

实例

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

尝试一下 »

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

实例

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

尝试一下 »

不建议在 JSON 中使用函数。


浏览器支持

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

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

JSON(5)---JSON.stringify()相关推荐

  1. javascript 数组和对象的浅复制和深度复制 assign/slice/concat/JSON.parse(JSON.stringify())...

    javascript 数组和对象的浅度复制和深度复制 在平常我们用 '='来用一个变量引用一个数组或对象,这里是'引用'而不是复制下面我们看一个例子引用和复制是什么概念 var arr=[1,2,3, ...

  2. 使用JSON.parse(),JSON.stringify()实现对对象的深拷贝

    使用JSON.parse(),JSON.stringify()实现对对象的深拷贝 根据不包含引用对象的普通数组深拷贝得到启发,不拷贝引用对象,拷贝一个字符串会新辟一个新的存储地址,这样就切断了引用对象 ...

  3. php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解

    这次给大家带来JSON.parse()与JSON.stringify()和eval()使用方法详解,JSON.parse()与JSON.stringify()和eval()使用的注意事项有哪些,下面就 ...

  4. 【Immutable】拷贝与JSON.parse(JSON.stringify()),深度比较相等与underscore.isEqual(),性能比较...

    样本:1MB的JSON文件,引入后生成500份的一个数组: 结果如下: 拷贝性能: JSON.parse(JSON.stringify()) 的方法:2523.55517578125ms immuta ...

  5. js字符串转换为json对象JSON.parse()及将json对象转为json字符串JSON.stringify()

    一.JSON对象中有两个非常好用的方法: 1 JSON.stringify接收一个JS对象转化为json字符串 2 JSON.parse接受json字符串转化为JS对象 const my={ name ...

  6. 关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法

    JSON.parse(jsonString): 在一个字符串中解析出JSON对象 JSON.stringify(obj) : 将一个JSON对象转换成字符串 jQuery.parseJSON(json ...

  7. $.each 循环json以及JSON.parse() JSON.stringify() jQuery.parseJSON()的用法:

    $.each 循环 json 当循环的是 json 对象: var jsonStu = [{"name": "张三","score": &q ...

  8. JSON.stringify() / JSON.parse() / JSON 真是个好东西

    目录 1. JSON 基本概念 1.1 JavaScript 对象表示法 1.2 JSON 文件 1.3 JSON 语法 2. XML VS JSON 2.1 共同点 2.2 不同点 2.3 使用步骤 ...

  9. javascript json和json字符串互转

    javascript json和json字符串互转 <!DOCTYPE html> <html lang="en"><head><meta ...

  10. js 数组、对象转json 以及json转 数组、对象

    1.JS对象转JSON 方式:JSON.stringify(obj) var json = {"name":"iphone","price" ...

最新文章

  1. matlab 二次指数平滑法预测
  2. FPGA/CPLD按键硬件延时消除抖动的思路
  3. java.security.InvalidKeyException:illegal Key Size
  4. NULL和INITIAL的区别 and database interface
  5. Java中的Enum(枚举)用法介绍
  6. 用于单片机的几种C语言算法
  7. java操作redis的操作_Java操作redis简单示例
  8. 敏捷项目管理流程-Scrum框架最全总结
  9. 故宫4天门票已售罄 五一假期大家都去哪儿“看一看”了?
  10. C++函数指针和仿函数【转】
  11. 四川省高中计算机考试,四川高中信息技术学业水平考试时间
  12. 刷新输出缓冲区(C++)
  13. # 数值计算:三角形积分
  14. SFTP传输文件工具FileZilla下载安装教程
  15. 个人博客中MetingJS引用qq音乐列表歌单
  16. 手机中必备的黑科技App,个个好用至极,现在的你一定需要 1
  17. configure: error: you must configure in a separate build directory
  18. 16位诺奖天才们关注区块链:7位投身具体项目 14位来自诺贝尔经济学奖
  19. 转码(BIN→ASCII/BIN→BCD)
  20. 头像叠加android_使用RecyclerView实现点赞头像叠加效果

热门文章

  1. sql 树状结构中知道 父节点与孙节点_数据结构之(树)
  2. python顺序结构的关键字_Python1_Python的目录结构、执行顺序、__name__ == __main__
  3. 【日志】调频调占空比电路的设计
  4. POSIX线程专有数据的空间释放问题,pthread_key_create
  5. STM32H7---高速缓存Cache(一)
  6. 【JVM】第一章 JVM体系结构
  7. 系统设计题:如何设计一个电商平台积分兑换系统!
  8. ZigBee开发(15)--组网实验点播
  9. STL之stack容器
  10. 关于Action模型驱动无法获取属性的问题