JSONUtil.js 796 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. function objToStrMap(obj) {
  2. let strMap = new Map();
  3. for (let k of Object.keys(obj)) {
  4. strMap.set(k, obj[k]);
  5. }
  6. return strMap;
  7. }
  8. function strMapToObj(strMap) {
  9. let obj = Object.create(null);
  10. for (let [k, v] of strMap) {
  11. obj[k] = v;
  12. }
  13. return obj;
  14. }
  15. function strMapToJson(strMap) {
  16. return JSON.stringify(strMapToObj(strMap));
  17. }
  18. function mapToJson(map) {
  19. return JSON.stringify([...map]);
  20. }
  21. /**
  22. * 将map对象转换为JSONString
  23. */
  24. function mapToJsonStr(strMap) {
  25. return JSON.stringify(strMapToObj(strMap));
  26. }
  27. /**
  28. * 将JSONString对象转换为map
  29. */
  30. function jsonToStrMap(jsonStr) {
  31. return objToStrMap(JSON.parse(jsonStr));
  32. }
  33. module.exports = {
  34. mapToJsonStr: mapToJsonStr,
  35. jsonToStrMap: jsonToStrMap,
  36. strMapToJson: strMapToJson,
  37. strMapToObj: strMapToObj
  38. }