{"id":14155567,"url":"https://github.com/json-e/json-e","last_synced_at":"2025-04-12T00:55:32.677Z","repository":{"id":36991084,"uuid":"79471047","full_name":"json-e/json-e","owner":"json-e","description":"A data-structure parameterization system written for embedding context in JSON objects","archived":false,"fork":false,"pushed_at":"2025-02-15T14:46:48.000Z","size":9978,"stargazers_count":167,"open_issues_count":23,"forks_count":87,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-12T00:55:27.455Z","etag":null,"topics":["expression-language","json","string-interpolation","template","untrusted-values","yaml"],"latest_commit_sha":null,"homepage":"https://json-e.js.org/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/json-e.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-19T16:17:18.000Z","updated_at":"2025-04-07T21:30:40.000Z","dependencies_parsed_at":"2023-02-18T17:01:30.335Z","dependency_job_id":"42aff94a-0609-4f0f-a39d-002834059be1","html_url":"https://github.com/json-e/json-e","commit_stats":{"total_commits":974,"total_committers":48,"mean_commits":"20.291666666666668","dds":0.6786447638603696,"last_synced_commit":"33e24a7cf9c205e3f2bd337000ab9ed8018320f5"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-e%2Fjson-e","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-e%2Fjson-e/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-e%2Fjson-e/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-e%2Fjson-e/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/json-e","download_url":"https://codeload.github.com/json-e/json-e/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248501879,"owners_count":21114683,"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":["expression-language","json","string-interpolation","template","untrusted-values","yaml"],"created_at":"2024-08-17T08:03:56.798Z","updated_at":"2025-04-12T00:55:32.651Z","avatar_url":"https://github.com/json-e.png","language":"Rust","readme":"# JSON-e\n\nJSON-e is a data-structure parameterization system for embedding context in\nJSON objects.\n\nThe central idea is to treat a data structure as a \"template\" and transform it,\nusing another data structure as context, to produce an output data structure.\n\nThere are countless libraries to do this with strings, such as\n[mustache](https://mustache.github.io/). What makes JSON-e unique is that it\noperates on data structures, not on their textual representation. This allows\ninput to be written in a number of formats (JSON, YAML, etc.) or even generated\ndynamically. It also means that the output cannot be \"invalid\", even when\nincluding large chunks of contextual data.\n\nJSON-e is also designed to be safe for use on untrusted data. It never uses\n`eval` or any other function that might result in arbitrary code execution. It\nalso disallows unbounded iteration, so any JSON-e rendering operation will\nfinish in finite time.\n\n## Language Definition and Implementations\n\nThis repository both defines the JSON-e language and contains several\nimplementations of that language.\n\nThe language definition is embodied in [`./specification.yml`](./specification.yml) and the\ndocumentation for the language constructs.\n\nThe language and implementations are all versioned together, following semantic\nversioning.  Breaking changes to the language specification are not common, and\ntypically result from bugfixes rather than new features.  Generally, you may\nconsider the language stable.\n\nAny discrepancy in behavior between the implementations that is not documented\nas undefined behavior is considered a bug.  If fixing that bug can cause\nbackward incompatibility in an implementation, then the change may be considered\nbreaking and be released with a new major version.\n\n### Other Implementations\n\n* [json-everything](https://json-everything.net/json-e) provides a implementation in .NET.\n\n## Full Documentation\n\nSee [json-e.js.org](https://json-e.js.org).\n\n## Changes\n\nSee\n[CHANGELOG.rst](https://github.com/json-e/json-e/blob/main/CHANGELOG.rst)\nfor the changes in each version of this library.\n\n## In Action\n\nWhere is JSON-e used?\n\n * [AlterSchema](https://alterschema.sourcemeta.com/) specifies upgrades as a set of declarative transformation rules written in JSON Schema itself and JSON-e.\n * [Taskcluster](https://taskcluster.net/) uses JSON-e extensively to generate task definitions from various JSON-shaped inputs such as GitHub events.\n\n(feel free to submit a PR to add your project here)\n","funding_links":[],"categories":["yaml"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjson-e%2Fjson-e","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjson-e%2Fjson-e","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjson-e%2Fjson-e/lists"}