{"id":18256165,"url":"https://github.com/serapath/jsonloop","last_synced_at":"2026-07-03T11:02:41.617Z","repository":{"id":57285790,"uuid":"265981162","full_name":"serapath/jsonloop","owner":"serapath","description":"JSON.{parse, stringify} compatible for circular JSON https://www.npmjs.com/package/jsonloop","archived":false,"fork":false,"pushed_at":"2020-05-22T01:07:52.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T13:18:38.088Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://serapath.github.io/jsonloop/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serapath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-22T00:27:14.000Z","updated_at":"2020-05-22T01:07:54.000Z","dependencies_parsed_at":"2022-09-16T22:40:39.260Z","dependency_job_id":null,"html_url":"https://github.com/serapath/jsonloop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serapath%2Fjsonloop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serapath%2Fjsonloop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serapath%2Fjsonloop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serapath%2Fjsonloop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serapath","download_url":"https://codeload.github.com/serapath/jsonloop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247937210,"owners_count":21021214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T10:20:16.759Z","updated_at":"2026-07-03T11:02:41.581Z","avatar_url":"https://github.com/serapath.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jsonloop\nJSON.{parse, stringify} compatible for circular JSON\n\nhttps://www.npmjs.com/package/jsonloop\n\nhttps://serapath.github.io/jsonloop/\n\n# use\n`npm install jsonloop`\n```js\nconst jsonloop = require('jsonloop')\nconst defaultSeperator = '.'\nconst cJSON = jsonloop(defaultSeperator)\n\nvar obj2 = { foo: { bar: [{ x: 'y'}, { y: 'x' }], xx: { yy: 'zz' } }, a: 'b' }\nobj2.foo.bar.push(obj2.foo.xx)\n\nconst json = cJSON.stringify(obj2, 0, 2)\nconsole.log(json) /* {\n  \"foo\": {\n    \"bar\": [\n      {\n        \"x\": \"y\"\n      },\n      {\n        \"y\": \"x\"\n      },\n      {\n        \"yy\": \"zz\"\n      }\n    ],\n    \"xx\": \"#.foo.bar.2\"\n  },\n  \"a\": \"b\"\n} */\nconst obj2 = cJSON.parse(json)\nconsole.log(obj2) /*{\n  \"foo\": {\n    \"bar\": [\n      {\n        \"x\": \"y\"\n      },\n      {\n        \"y\": \"x\"\n      },\n      {\n        \"yy\": \"zz\"\n      }\n    ],\n    \"xx\": { yy: \"zz\" }\n  },\n  \"a\": \"b\"\n} */\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserapath%2Fjsonloop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserapath%2Fjsonloop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserapath%2Fjsonloop/lists"}