ES6的JSON to Map是一種非常便利的轉(zhuǎn)換工具,可以將JSON數(shù)據(jù)轉(zhuǎn)換成Map,用于便捷的數(shù)據(jù)處理。下面我們將通過(guò)幾個(gè)案例來(lái)展示如何使用ES6的JSON to Map。
// 例1:將json數(shù)據(jù)轉(zhuǎn)換成Map對(duì)象
let jsonData = '{"name": "張三", "age": 18, "gender": "male"}';
let mapData = new Map(JSON.parse(jsonData));
console.log(mapData);// Map(3) { "name" =>"張三", "age" =>18, "gender" =>"male" }
從上例中可以看出,我們將JSON字符串解析成對(duì)象之后,就可以直接將其作為參數(shù)傳入Map構(gòu)造函數(shù)中,從而得到一個(gè)新的Map對(duì)象。
// 例2:通過(guò)Map轉(zhuǎn)換成JSON數(shù)據(jù)
let mapData = new Map([['name', '李四'], ['age', 20], ['gender', 'female']]);
let jsonData = JSON.stringify(Object.fromEntries(mapData));
console.log(jsonData);// {"name":"李四","age":20,"gender":"female"}
從上例中我們可以看出,我們可以通過(guò)Object.fromEntries()方法將Map對(duì)象轉(zhuǎn)換成一個(gè)鍵值對(duì)的對(duì)象,然后再將該對(duì)象使用JSON.stringify()方法轉(zhuǎn)換成JSON格式的字符串。
// 例3:Map中的鍵是對(duì)象
let myMap = new Map();
let obj1 = {'name': '小明'};
let obj2 = {'name': '小紅'};
myMap.set(obj1, 'foo');
myMap.set(obj2, 'bar');
console.log(myMap.get(obj1));// foo
console.log(myMap.get(obj2));// bar
從上例中我們可以看出,Map對(duì)象中的鍵可以是對(duì)象,而且利用對(duì)象作為鍵的特性,我們可以更加靈活的進(jìn)行數(shù)據(jù)處理。
以上就是使用ES6的JSON to Map的幾個(gè)例子,從這些例子中可以看出,JSON to Map是一種非常方便的數(shù)據(jù)轉(zhuǎn)換方式,可以大大提高我們的代碼處理效率。