4_对象转化为字符串 14:56

思维导图.png

序列化,指将 JavaScript 值转化为 JSON 字符串的过程。

JSON.stringify() 能够将 JavaScript 值转换成 JSON 字符串。JSON.stringify() 生成的字符串可以用 JSON.parse() 再还原成 JavaScript 值。

1. 参数的含义

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

value:必选参数。被变换的 JavaScript 值,一般是对象或数组。

replacer:可以省略。有两种选择:函数或数组。

如果是函数,则每一组名称/值对都会调用此函数,该函数返回一个值,作为名称的值变换到结果字符串中,如果返回 undefined,则该成员被忽略。

如果是数组,则只有数组中存在名称才能够被转换,且转换后顺序与数组中的值保持一致。

space:可以省略。这是为了排版、方便阅读而存在的。可以在 JSON 字符串中添加空白或制表符等。

2. value 用法

示例1:stringify.html

stringify.gif

示例1源码:

var obj = {

name: "Geoff Lui",

age:26

};

console.log(obj);

var jsonstr = JSON.stringify(obj);

console.log(jsonstr);

示例2:stringify02.html

如果有不符合JSON语法规则的值

stringify02.gif

示例2源码:

var obj = {

name: "Geoff Lui",

age:26,

// 如果有不符合JSON语法规则的值

a:undefined,

f:function(){

alert(a);

}

};

console.log(obj);

var jsonstr = JSON.stringify(obj);

console.log(jsonstr); //因为a和f不符合JSON语法规则,所以结果中看不到这两个值

示例3:stringify03.html

如果数组里面包含函数呢?

stringify03.gif

示例3源码:

var obj = {

name: "Geoff Lui",

age:26,

// 如果有不符合JSON语法规则的值

a:undefined,

f:function(){

alert(a);

},

// 如果数组中包含函数

b:[function(){alert("hello");}]

};

console.log(obj);

var jsonstr = JSON.stringify(obj);

console.log(jsonstr); //因为a和f不符合JSON语法规则,

所以结果中看不到这两个值;数组里的函数被转换成了null

3. replacer 的用法

1)示例stringify04-第2个参数为函数.html

转换成JSON字符串的同时,对数值进行处理

stringify04-第二个参数为函数.gif

示例stringify04源码:

var obj = {

name: "Geoff Lui",

age:26,

};

console.log(obj);

var jsonstr = JSON.stringify(obj,fun);

function fun(name,value){

if( name == "age" ){

value = 14;

}

return value;

}

console.log(jsonstr);

2)示例stringify05.html

如果第2个参数为数组,只有数组中存在名称才能够被转换

stringify05-第二个参数为数组.gif

示例stringify05源码:

var obj = {

a:1,

b:2,

c:3,

d:4

};

console.log(obj);

var jsonstr = JSON.stringify(obj,["a","b","c"]);

console.log(jsonstr);

3)stringify06-第2个参数为数组 顺序.html

转换后顺序与数组中的值保持一致。

stringify06-第2个参数为数组 顺序.gif

示例stringify06源码:

var obj = {

a:1,

b:2,

c:3,

d:4

};

console.log(obj);

var jsonstr = JSON.stringify(obj,["c","b","a"]);

console.log(jsonstr);

4. space 的用法

常见用法是添加制表符,使代码更可读:"\t"

示例stringify07-space.html

stringify07-space.gif

示例stringify07代码:

var obj = {

a:1,

b:2,

c:3,

d:4

};

console.log(obj);

// var jsonstr = JSON.stringify(obj,["c","b","a"]);

var jsonstr = JSON.stringify(obj,["c","b","a"],"\t");

console.log(jsonstr);

html对象转成字符串,4.对象转化为字符串相关推荐

  1. 将html对象转换成jq,2js对象与jq对象之间互转.html

    /*//使用js代码实现 var button = document.getElementById("b1"); button.onclick = function(){ var ...

  2. php把对象转换成数组,php对象转换成数组的方法

    php对象转换成数组的方法 发布时间:2020-05-20 14:13:07 来源:亿速云 阅读:108 作者:鸽子 php对象转数组方法 在php中将对象转数组的方法,可以通过使用"get ...

  3. c语言整型变量转字符串,将整型变量转化为字符串

    C++中如何将整型变量转换为字符串 int i=1; string str="结果:"; string str2; str2=str+i; cout< C语言中将整形变量转换 ...

  4. java把对象转成json_java 把对象 对象转换成json字符串 | 学步园

    publicclassJSONCreateDemoActivity { // 创建以下的JSON对象 publicString createJSONObject() { Gsongson = newG ...

  5. Java【前端动态添加一条记】【后端使用JDK1.8实现map对象根据key的部分值进行分组】(并将map对象封装成指定entity对象)

    why 我是后端开发工程师,前端的很多函数不是很了解,所以很多问题期望在后端进行处理. 前端 有这样一个实现,前端要动态添加记录,然后将记录统一存储在一个字段里,代码如下: // 动态添加一行输入参数 ...

  6. access的ole对象换成mysql_Access OLE对象和附件的区别

    OLE 对象 来自 Office 和基于 Windows 的程序的图像.文档.图形和其他对象 最多可存储 2GB 数据(此大小限制适用于所有 Access 数据库).请记住,添加 2GB 数据会导致数 ...

  7. java将Object对象转换成实体类对象

    ObjectMapper objectMapper=new ObjectMapper(); CirclePropertiesVo circlePropertiesVo=objectMapper.con ...

  8. Java对象转换成JSON对象/JSON对象转换成JSON字符串/JSON字符串转换成JS对象

    文章目录 后端部分 前端部分 后端部分 Option op = new Option("海淀","hd");//java对象转换json对象 JSONObjec ...

  9. 字符串对象转数组对象_js对象转数组的方法 js怎么将数组对象转变成字符串

    只需要一句,arr.__proto__=[];但是要注意浏览器支持__proto__才行,最新的浏览器应该都支持. 以下两种都可以解决此问题: function transform(obj){ var ...

最新文章

  1. 计算机组成原理-第3章-3.1
  2. 大一就会这么多,还在问有没有前途? | 每日趣闻
  3. 解决Vs输出中文乱码的问题
  4. mysql 性能查看_MySQL查询性能问题排查
  5. Excel批量转csv格式
  6. 转载 vue的基础使用
  7. 采用HttpModules来重写URLS
  8. python怎么填充画布_如何在kivy中用图像填充画布?
  9. STM32工作笔记0062---定时器中断实验
  10. 摄影获得最佳图像的十大要诀_十大最佳应用程序性能管理工具
  11. Vbs判断两个Excel文件的内容--将两个Excel文件相同内容写入新建的Excel文件内
  12. 基于jedis.setnx(key, value)实现分布式锁
  13. 加速度及陀螺仪传感器BMI160
  14. 计算机与投影仪的记录,投影仪和电脑的连接及PPT播放
  15. PX4多传感器优先级判断
  16. counters.dat_使用sys.dm_os_performance_counters对SQL Server问题进行故障排除
  17. 深度剖析Linux与Windows系统的区别
  18. 第一次计算机比赛心得
  19. 如何清除博客中广告内容
  20. 为什么很多智能锁没有防破坏报警功能?

热门文章

  1. python超详细零基础 bs4解析之爬取唯美图片
  2. 基于Spark Grahpx Neo4j 实现用户社群发现
  3. vscode 缩进快捷键 代码对齐快捷键
  4. oracle创建表空间给用户授权
  5. 让人迷惑的ReverseFind
  6. 江苏大学 计算机调剂,江苏大学2019年考研调剂信息
  7. mysql驱动程序下载大全
  8. Frustum PointNets文献整理
  9. 图像检索:DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations
  10. jQuery学习笔记(黑马课堂+补充)