<script>
let input =
Shortcut Input
;
val = input.value;
subo = obj = input.dictionary ?? input.list;
//if (typeof obj === "string" && obj[0]+obj[obj.length-1] === "{}") { obj = JSON.parse(obj) }
keys = [...(input.key ?? input.index).matchAll(/(?:^"|\.")([^"\\]*(?:\\.[^"\\]*)*)(?:")|(?:^|\.)([^"][^\.]*)/g)].map(arr => isNaN(k = arr[2] ?? arr[1]) ? k : parseInt(k));
last = keys.pop();
prevo = prevk = null;
keys.forEach(k => {prevo = subo; prevk = isNaN(k) ? k : k + (k < 1 ? subo.length : -1); subo = subo[prevk]});
if (isNaN(last)) {
if (val != null) { subo[last] = val } else { delete subo[last] }
} else {
if (!subo || subo.constructor !== Array) {
subo = prevk != null ? (prevo[prevk] = [subo]) : (obj = [subo]);
}
last += last < 1 ? subo.length : -1;
if (val != null) { subo.splice(last,0,val) } else { subo.splice(last,1) }
}
document.write(encodeURIComponent(JSON.stringify({"output":obj})));
</script>