js下怎么将map对象转换成json,并可以再后台重新解析成map

JavaScript029

js下怎么将map对象转换成json,并可以再后台重新解析成map,第1张

let map = new Map()

map.set('key1','value1')

map.set('key2','value2')

// Map 转 JSON字符串

let map_string = JSON.stringify([...map])

console.log('map ->json:',map_string)

// JSON字符串转map

let obj = JSON.parse(map_string)

let new_map = new Map()

for(let key of Object.keys(obj)){

new_map.set(key,obj[key])

}

console.log('json ->map:',new_map)

jsp中可以使用alibaba的fastjson工具包转换成json字符串绑定到网页上,例如:

后台:

import com.alibaba.fastjson.JSON

String json = JSON.toJSONString(map)

request.setAttribute("json","json")

页面中:

<script type="text/javascript">

var json = '<%=json %>' //后台字符串渲染到页面上

var jsonObj = JSON.parse(json)//前端浏览器将字符串转换为js对象

</script>