/*** 判断是否是合法的Json字符串* @param str - 字符串*/
const isJsonStr = (str: string) => {if (typeof str === 'string') {try {const obj = JSON.parse(str)if (typeof obj === 'object' && obj) {return true} else {return false}} catch (e) {return false}}return false
}
通过JSON.stringify将JSON转为String
再先执行第一步isJsonStr ,判断字符串是否为JSON字符串
再将JSON String 数据转 MAP
/*** JSON String 数据转 MAP* @param jsonStr - JSON String*/
const jsonStrToMap = (jsonStr: string) => {const jsonObj = JSON.parse(jsonStr)const map = new Map()for (const k of Object.keys(jsonObj)) {map.set(k, jsonObj[k])}return map
}
MAP 数据转 JSON String
如果只想要json数据可直接return obj 即可
/*** MAP 数据转 JSON String* @param map - MAP对象*/
const mapToJsonStr = (map: Map) => {const newMap = cloneDeep(map)const obj: any = {}newMap.forEach((v, k) => (obj[k] = v))const JsonStr = JSON.stringify(obj)return JsonStr
}