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 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1112
来自专栏码匠的流水账

java9系列(五)Stack-Walking API

java9新增这个类的目的是提供一个标准API用于访问当前线程栈,之前只有Throwable::getStackTrace、Thread::getStackTr...

411
来自专栏Ryan Miao

ehcache报错

jfinal2.0+tomcat7+ehcache2.6.11+Linux Linux version 2.6.18-164.el5 (mockbuild@x8...

3729
来自专栏Hadoop数据仓库

Oracle sqlldr 如何导入一个日期列

1. LOAD DATA INFILE * INTO TABLE test FIELDS TERMINATED BY X'9' TRAILING NULLCO...

1786
来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

5866
来自专栏增长技术

App Guide相关

##TourGuide https://github.com/worker8/TourGuide

702
来自专栏Pulsar-V

Save Camera Document

#pragma once #include "HCCamera.h" #include <time.h> #include <cstdio> #incl...

2818
来自专栏专知

2018年SCI期刊最新影响因子排行,最高244,人工智能TPAMI9.455

2018年6月26日,最新的SCI影响因子正式发布,涵盖1万2千篇期刊。CA-Cancer J Clin 依然拔得头筹,其影响因子今年再创新高,达244.585...

1272
来自专栏码匠的流水账

spring security reactive获取security context

本文主要研究下reactive模式下的spring security context的获取。

1752
来自专栏前端儿

Web 前端颜色值--字体--使用,整理整理

颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义。对光源进行设置的最低值可以是 0(十六进制 00)。最高值是 2...

2232

扫码关注云+社区