nodejs 的序列化与反序列化

1.序列化

stringify函数的作用就是序列化对象,也就是说将对象类型转换成一个字符串类型(默认的分割符("&")和分配符("=")),先介绍它的基本用法,在下一节里我们将学习如何替换默认分配符,下面我们就通过以下例子来清楚的认识一下吧!

例1:querystring.stringify("对象")

var querystring= require('querystring');
var result = querystring.stringify({foo:'bar',cool:['xux', 'yys']});
console.log(result);  

运行结果: foo=bar&cool=xux&cool=yys

对象被序列化为字符串之后默认是通过分割符("&")和分配符("=")组成的,那可不可以改变呢,这节我们就来了解一下,是否可以自己去定义组合结果,看下面的小例子

例1:querystring.stringify("对象","分隔符","分配符")

var querystring = require('querystring');
var result = querystring.stringify({foo:'bar',cool:['xux', 'yys']},'*','$');
console.log(result);

运行结果: 'foo$bar*cool$xux*cool$yys'

2.反序列化

 接下来就来学习反序列化函数——parse函数,parse函数的作用就是反序列化字符串(默认是由"="、"&"拼接而成),转换得到一个对象类型。如下示例:

例1:querystring.parse("字符串")

var querystring = require('querystring');
var result = querystring.parse('foo=bar&cool=xux&cool=yys');
console.log(result);

运行结果:

  1. { foo: 'bar', cool: ['xux', 'yys']}

现在我们学习parse函数的扩展用法,和上面stringify函数的多参数用法不同的是,parse函数可以根据用户所自定义的分割符、分配符来反序列化字符串,从而得到相应的对象结果.如下示例:

例1:querystring.parse("字符串","分隔符","分配符")

var querystring = require('querystring');
var result = querystring.parse('foo@bar$cool@xux$cool@yys','@','$');
console.log(result);

运行结果: { foo: '', bar: 'cool', xux: 'cool', yys: '' }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Redis

Redis数据类型之String类型

Redis数据类型之String类型

1040
来自专栏osc同步分享

过程化SQL、存储过程、自定义函数

1. 过程化SQL 1)基本结构 declare -- 定义变量、常量、游标、异常 a int :=0; b float; begin ...

34810
来自专栏重庆的技术分享区

AngularJs指令解密

1417
来自专栏cnblogs

Javascript基本类型回顾

本文是学习和总结ECMAScript5.1规范形成的。是对规范中所提及的Javascript类型进行剖析后的个人观点的表达(如有Bug望各位道友指正)。主要是各...

1706
来自专栏奔跑的蛙牛技术博客

映射---> 一眼看懂Map

Java类库提供两个基本的实现,HashMap和TreeMap。两个类都实现了Map接口

652
来自专栏C/C++基础

ToString截取字符串的用法

string test1=test.ToString("F");//结果为343392590725.68,保留小数点后两位

692
来自专栏Python

Python中赋值、浅拷贝与深拷贝

   python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。他们既有区别又有联系,刚好最近碰到这一类的问题,研究下。 一、赋值         ...

1758
来自专栏DT乱“码”

jQuery.data() 的实现方式

jQuery.data() 的实现方式     jQuery.data() 的作用是为普通对象或 DOM Element 附加(及获取)数据。      ...

2297
来自专栏鸿的学习笔记

有趣的Scala列表

其中Nil表示空列表,::符号表示在列表前面追加元素,所以如果没有后面的Nil,Scala就会报错。

471
来自专栏进击的君君的前端之路

jQuery选择器、Dom操作、样式、事件处理

1143

扫描关注云+社区