map是javascript 新标准中添加的数据类型,与object类似,用来存储键值对。
在实际开发过程中,有时候需要对一些配置数据进行持久化保存,如object可以通过转化为json格式字符串,之后写入到文件。
map与object类似,如何将map转换为字符串保存到文件呢?
-
object对象可以通过JSON序列化为字符串数据,但是map序列化的结果却是空的。
如下示例与运行结果所示:
1.png
2.png
-
为了更好的讲解后续方法,我们定义一个创建学生信息函数,map中存储具体的学生信息。
如下图所示:
3.png
4.jpg
-
将map转换为临时的object对象,并通过object转换为字符串。
具体我们看如下示例:
5.jpg
6.png
-
将字符串转换为map,首先将字符串转换为object,之后再将object转换为map。
如下图所示:
7.jpg
8.jpg
-
将字符串转换为map,但是返回的map中打印结果,值并不是Student类型,所以还需要完善上述方法。
我们需要主动将object中数据转换为student对象。
优化代码如下:
9.png
10.png
-
完善后,最终输出结果,转换前后map输出一致。
还有一个问题:在将字符串转换为map函数中,我们默认输入的字符串为map类型值,这里并没有考虑到异常情况,以及输入非map类型的数据。
11.png