在Typescript应用程序中,我们经常会遇到地图对象中的数据转换为JSON对象或JSON转换为地图的用例。
在这篇博客中,我们将学习如何将Map转换为JSON或JSON转换为Map
Map是ES6中引入的一种数据结构,用于存储key和value。
JSON是一种javascript对象符号,用于将键和值用大括号括起来的格式。这段代码在Javascript中工作,因为这使用了最新的Es6类和语法。
如何将地图转换成JSON对象的例子
我们有多种方法可以做到这一点。
使用Iterate和Stringify方法将地图转换成JSON对象
首先
Map用 和 类型的字符串来创建。keyvaluesmap.forEach方法用于迭代地图,其中包含为地图的每个元素调用的回调。- 对象创建并添加了键和值。
- 最后,使用
JSON.stringify()方法以JSON格式返回对象。
let map = new Map()
map.set('one', 'value1');
map.set('two', 'value2');
map.set('three', 'value3');
let jsonObject = {};
map.forEach((value, key) => {
jsonObject[key] = value
});
console.log(JSON.stringify(jsonObject))
输出是
{"one":"value1","two":"value2","three":"value3"}
ES6 Object fromEntries方法
ES6在对象类中引入了fromEntries 方法。fromEntries接收输入的地图并将键和值转换成JSON对象。
let map = new Map()
map.set('one', 'value1');
map.set('two', 'value2');
map.set('three', 'value3');
const result = Object.fromEntries(map);
console.log( result)
输出。
{
one:"value1",
two:"value2",
three:"value3"
}
如何将JSON对象转换为Map的例子
以下是将JSOn转换为Map对象的方法
在循环迭代中使用for
创建了包含键和值的JSON对象,接下来创建了空地图,使用*for...in循环*来迭代JSON对象,并将键和值添加到地图实例中。
let jsonObject = { "one": "value1", "two": "value2", "three": "value3" };
let map = new Map()
for (var value in jsonObject) {
map.set(value,jsonObject[value])
}
console.log("map:" + map.size);
ES6条目方法
ES6中引入了Object entries方法,在javascript和typescript中把JSOn对象转换为MAP。
let jsonObject = { "one": "value1", "two": "value2", "three": "value3" };
const result = Object.entries(jsonObject);
console.log( result)
总结
综上所述,我们已经学会了在typecript和javascript中把JSON对象转换为JSOn的多种方法。