JSFiddle - React, Tailwind, and code Playground

by brigand

HTML

<pre id="out"></pre>

JavaScript

const deser = {
  _set(arr) {
    new Set(arr);
  }
};

const ESON = {
  ser(value) {
    return JSON.stringify(value, (key, val) => val instanceof Set ? {
      _set: Array.from(val)
    } : val);
  },
  deser(json) {
    return JSON.parse(json, (key, value) => {
      return deser[key] ? deser[key](value) : value;
    })
  },
};

let obj = { foo: new Set([1, 2, 3]) };
let json = ESON.ser(obj);
out.textContent = json