1.2.0 • Published 1 year ago

sprut-circular-json v1.2.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago
> 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": "" } }