compactArrayStringify

by Leo

JavaScript

function compactArrayStringify(obj){
  const rs= {};
  let i = 0;
  let s = JSON.stringify(obj, (k, v)=>{
    if(Array.isArray(v)){
      var replacement = "__"+(i++)+"__";
      rs[replacement] = v;
      return replacement;       
    }
    return v;
  }, 2);
  Object.entries(rs).forEach(([k, v]) => {
     s = s.replace(`\"${k}\"`, JSON.stringify(v));
  });
  return s;
}
console.log(compactArrayStringify({a: [1, 2, 3]}));