sprut-circular-json
v1.2.0
Published
Набор функций для работы с JSON с циклическими ссылками. ДАёт возможность перевести в строку, отправить куда следует, и восстановить объект в том же зацикленном виде
Downloads
9
Maintainers
Readme
> npm i sprut-circular-json
Sprut-circular-json
Набор функций для работы с JSON с циклическими ссылками. Даёт возможность перевести в строку, отправить куда следует, и восстановить объект в том же зацикленном виде.
В репозитории есть change_log.md с описанием изменений.
Оглавление
Перевод в строку и обратно:
const CJSON = require('sprut-circular-json');
const a = { prop: 'value' };
a.ref = a;
const str = CJSON.stringify(a);
const copy_a = CJSON.parse(str);
console.log(str);
// {"value": {"prop": "value", "ref": {"__JSONCircularRef": ""}}, "__JSONCircularSource": ""}
console.log(a); // <ref *1> { prop: 'value', ref: [Circular *1] }
console.log(copy_a); // <ref *1> { prop: 'value', ref: [Circular *1] }
Промежуточный результат в виде объекта:
Также можно извлечь промежуточный преобразованный результат в js-объект до условного JSON.stringify(...)
. До преобразования в строку. Результат можно подложить куда угодно и работать уже с обычным JSON.stringify(...)
.
const CJSON = require('sprut-circular-json');
const a = { prop: 'value' };
a.ref = a;
const preString = CJSON.resolveCircular(a);
console.log(preString);
// {
// value: {
// prop: 'value',
// ref: { __JSONCircularRef: '' }
// },
// __JSONCircularSource: ''
// }
const b = { prop: 'prop', circular: preString };
console.log(JSON.stringify(b))
// { "prop": "prop", "circular": { "value": { "prop": "value", "ref": { "__JSONCircularRef": "" } },"__JSONCircularSource": "" } }