工作中经常需要将json类型字符串进行压缩,可以通过js内置JSON对象来进行压缩。
思路:
- 先把还有空格符的json字符串转化成json对象
let jsonObj = JSON.prase(jsonStr);
- 再利用
JSON.stringfy()
把得到的json对象转成字符串,JSON.stringfy()
转换出来的字符串本身就是压缩的。
let res = JSON.stringfy(jsonObj);
封装成函数如下:
/**
* 去掉json字符串中的空白符
*
* @param {string} jsonStr 包含空白字符(\t、\n、\s)的json字符串
*/
function compressJsonStr(jsonStr) {
return JSON.stringify(JSON.parse(jsonStr));
}
示例:
let jsonStr = '{\n\t"name" : "张三",\n\t"age" : 22\n}';
console.log(jsonStr);
console.log(compressJsonStr(jsonStr));
运行结果: