{"id":28844123,"url":"https://github.com/yord/klp-json","last_synced_at":"2026-04-29T09:04:14.537Z","repository":{"id":57289315,"uuid":"341003483","full_name":"Yord/klp-json","owner":"Yord","description":"A JSON plugin for klp (Kelpie), the small, fast, and magical command-line data processor.","archived":false,"fork":false,"pushed_at":"2021-02-26T21:11:00.000Z","size":69,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-17T00:28:38.755Z","etag":null,"topics":["csv","data","deserializer","dsv","json","kelpie","klp","marshaller","parser","serializer","ssv","tsv"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"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/Yord.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":"2021-02-21T21:02:57.000Z","updated_at":"2021-02-27T08:47:28.000Z","dependencies_parsed_at":"2022-09-04T07:50:44.886Z","dependency_job_id":null,"html_url":"https://github.com/Yord/klp-json","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Yord/klp-json","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yord%2Fklp-json","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yord%2Fklp-json/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yord%2Fklp-json/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yord%2Fklp-json/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yord","download_url":"https://codeload.github.com/Yord/klp-json/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yord%2Fklp-json/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260793384,"owners_count":23064033,"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":["csv","data","deserializer","dsv","json","kelpie","klp","marshaller","parser","serializer","ssv","tsv"],"created_at":"2025-06-19T17:07:51.635Z","updated_at":"2026-04-29T09:04:14.518Z","avatar_url":"https://github.com/Yord.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"TODO: klp-json teaser\n\n:horse:`klp-json` is a JSON plugin for `klp` (Kelpie), the small, fast, and magical command-line data processor.\n\nSee the [`klp` github repository][klp] for more details!\n\n[![node version][shield-node]][node]\n[![npm version][shield-npm]][npm-package]\n[![license][shield-license]][license]\n[![PRs Welcome][shield-prs]][contribute]\n[![linux unit tests status][shield-unit-tests-linux]][actions]\n[![macos unit tests status][shield-unit-tests-macos]][actions]\n[![windows unit tests status][shield-unit-tests-windows]][actions]\n\n## Installation\n\n\u003e :ok_hand: `klp-json` comes preinstalled in `klp`.\n\u003e No installation necessary.\n\u003e If you still want to install it, proceed as described below.\n\n`klp-json` is installed in `~/.klp/` as follows:\n\n```bash\nnpm install klp-json\n```\n\nThe plugin is included in `~/.klp/index.js` as follows:\n\n```js\nconst json = require('klp-json')\n\nmodule.exports = {\n  plugins:  [json],\n  context:  {},\n  defaults: {}\n}\n```\n\nFor a much more detailed description, see the [`.klp` module documentation][klp-module].\n\n## Extensions\n\nThis plugin comes with the following `klp` extensions:\n\n|                     | Description                                                                                                                                                                                                                  |\n|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `jsonObj` chunker   | Searches the data for JSON objects and returns each object as a chunk. All data between objects is dropped. This is useful in a streaming context, or when deserializing files containing one big JSON list of JSON objects. |\n| `json` deserializer | Deserializes data into JSON. Uses JSON.parse internally.                                                                                                                                                                     |\n| `json` serializer   | Serializes transformed JSON into JSON using JSON.stringify.                                                                                                                                                                  |\n\n## Limitations\n\nThis plugin has the following limitations:\n\n1.  **No BigInt Support:**\n    Since JSON [does not support BigInt][json-bigint], `klp-json` does not support it either.\n    If you need to pass BigInts, encode them as strings and not as numbers.\n2.  **No JSON-Stream Chunker for Non-Objects:**\n    Currently, `klp-json` only ships with a JSON object chunker for data streams.\n    This may change in the future.\n3.  **Integer Key Ordering:**\n    The json serializer may order JSON object keys in surprising ways.\n    Keys that are integers are always moved to the beginning and sorted in ascending order.\n    All other keys come after these integer keys.\n    This is [how JavaScript generally handles object keys][json-keys-ordering] and `klp-json` makes no exception.\n\n## Reporting Issues\n\nPlease report issues [in the tracker][issues]!\n\n## License\n\n`klp-json` is [MIT licensed][license].\n\n[actions]: https://github.com/Yord/klp-json/actions\n[contribute]: https://github.com/Yord/klp\n[issues]: https://github.com/Yord/klp/issues\n[json-bigint]: https://stackoverflow.com/questions/18755125/node-js-is-there-any-proper-way-to-parse-json-with-large-numbers-long-bigint\n[json-keys-ordering]: https://stackoverflow.com/questions/30076219/does-es6-introduce-a-well-defined-order-of-enumeration-for-object-properties#answer-30919039\n[klp]: https://github.com/Yord/klp\n[klp-module]: https://github.com/Yord/klp#klp-module\n[license]: https://github.com/Yord/klp-json/blob/master/LICENSE\n[node]: https://nodejs.org/\n[npm-package]: https://www.npmjs.com/package/klp-json\n[shield-license]: https://img.shields.io/npm/l/klp-json?color=yellow\u0026labelColor=313A42\n[shield-node]: https://img.shields.io/node/v/klp-json?color=red\u0026labelColor=313A42\n[shield-npm]: https://img.shields.io/npm/v/klp-json.svg?color=orange\u0026labelColor=313A42\n[shield-prs]: https://img.shields.io/badge/PRs-welcome-green.svg?labelColor=313A42\n[shield-unit-tests-linux]: https://github.com/Yord/klp-json/workflows/linux/badge.svg?branch=master\n[shield-unit-tests-macos]: https://github.com/Yord/klp-json/workflows/macos/badge.svg?branch=master\n[shield-unit-tests-windows]: https://github.com/Yord/klp-json/workflows/windows/badge.svg?branch=master","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyord%2Fklp-json","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyord%2Fklp-json","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyord%2Fklp-json/lists"}