{"ref":"artifact:sbcgua-ajson","page":"/artifacts/sbcgua-ajson","json":"/artifacts/sbcgua-ajson.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sbcgua-ajson","name":"ajson","artifact_type":"package","ecosystem":"abap","domain":"protocols-and-apis","origin_ring":"independent","description":{"one_line":"A JSON parser and serialiser for ABAP that parses into a flexible, unstructured node tree rather than a fixed target structure, converting to one only when asked through `to_abap`.","short":"JSON parser and serialiser for ABAP with a node tree","what_it_solves":"Deserialising JSON into ABAP normally means fixing a target structure up front; ajson parses into a form that is 'not fixed to any predefined data structure, allowing to modify the parsed data, selectively access its parts and slice subsections of it', and converts to a fixed structure only when asked, through `to_abap`. That flexibility is useful for slicing off a shared envelope, such as separating a response's top-level fields from its `payload` for different layers of an application to handle. It also filters a JSON tree to drop empty values or chosen paths, maps node names between casing conventions such as snake_case and camelCase, iterates array items or object members, and diffs two JSON documents. It works from ABAP release 7.02 and installs through [abapGit](artifact:abapgit-abapgit)."},"links":{"repo":"https://github.com/sbcgua/ajson","docs":"https://sbcgua.github.io/ajson/"},"type_properties":{"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/sbcgua/ajson","title":"sbcgua/ajson — README","checked":"2026-09-14","quote":"Installed using [abapGit](https://github.com/abapGit/abapGit), see also [Installation](https://sbcgua.github.io/ajson/docs/installation) section of the documentation."}]}},"identity":{"license":"MIT"},"maintainers":["actor:sbcgua"],"source_available":true,"provides":[{"capability":"capability:serialisation","what_it_does":"Parses JSON into a flexible, unstructured node tree that can be sliced, filtered and mapped before converting to a fixed ABAP structure or table.","sources":[{"url":"https://github.com/sbcgua/ajson","title":"sbcgua/ajson — README","checked":"2026-09-14","quote":"parse into a flexible form, not fixed to any predefined data structure, allowing to modify the parsed data, selectively access its parts and slice subsections of it"}]}],"requires":[{"ref":"artifact:abapgit-abapgit","for":"Installs the class into the system; the README names [abapGit](artifact:abapgit-abapgit) as the way in, with no alternative given.","sources":[{"url":"https://github.com/sbcgua/ajson","title":"sbcgua/ajson — README","checked":"2026-09-14","quote":"Installed using [abapGit](https://github.com/abapGit/abapGit), see also [Installation](https://sbcgua.github.io/ajson/docs/installation) section of the documentation."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:albertmink","actor:christianguenter2","actor:cwildt","actor:jrodriguez-rc","actor:jxysgx7c","actor:larshp","actor:mathieulawnik","actor:mbtools","actor:oblomov-dev","actor:postavka","actor:sbcgua","actor:schneidermic0","actor:thorsten-wolf-neptune"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"poor","evidence":"95 months since release"},{"label":"Continuity","tier":"good","evidence":"13 contributors, 1 publisher"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":"SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"testing green, 2026-10-16"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs site, README 4 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":25,"unit":"installs/week","note":"More people watching than installing — noticed deliberately rather than pulled in."},{"value":75,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"0.3.5","majors":{"0.0":{"version":"0.0.2","date":"2015-04-09"},"0.1":{"version":"0.1.0","date":"2015-04-09"},"0.2":{"version":"0.2.0","date":"2015-04-09"},"0.3":{"version":"0.3.0","date":"2015-04-10"}},"license":null,"first_release":"2015-04-09","last_release":"2018-12-06","releases":8,"cadence_days":0,"maintainers":1,"repository":"git+https://github.com/tim-kos/ajson.git","repository_directory":null,"peer_cds":null,"dependencies":5,"node_engine":">= 0.8","test_script":false,"types":false,"downloads_weekly":25,"downloads_monthly":58,"stars":75,"forks":17,"open_issues":24,"archived":false,"pushed_at":"2026-10-16","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2020-05-16T07:00:27Z","open_prs":3,"tree_truncated":false,"test_files":0,"workflows":4,"other_ci":false,"readme_bytes":4042,"docs_files":0,"changelog":true,"license_file":true,"dts_files":0,"first_commit":"2020-05-16","last_commit":"2026-10-16","commits":639,"contributors":13,"ci_status":"success","ci_run_at":"2026-10-16","ci_workflow":"testing","ci_event":"push","readme_path":"README.md","readme_sha":"8b448b2f6faf185c578ebcb27704030cf0b9a3c5","months_since_release":95,"dormant":true,"repo_read":"2026-10-26","abap_syntax":{"repo":"sbcgua/ajson","file":"abaplint.jsonc","url":"https://github.com/sbcgua/ajson/blob/HEAD/abaplint.jsonc","version":"v702","floor":"702","checked":"2026-10-26"}},"release_notes":{"license":"MIT","quotable":true,"versions":[{"version":"0.3.5","date":"2018-12-06"},{"version":"0.3.4","date":"2015-04-14"},{"version":"0.3.3","date":"2015-04-10"},{"version":"0.3.2","date":"2015-04-10"},{"version":"0.3.0","date":"2015-04-10"},{"version":"0.2.0","date":"2015-04-09"},{"version":"0.1.0","date":"2015-04-09"},{"version":"0.0.2","date":"2015-04-09"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sbcgua","name":"Alexander Tsybulsky","json":"/actors/sbcgua.json"}],"contributors":[{"ref":"actor:albertmink","name":"Albert Mink","json":"/actors/albertmink.json"},{"ref":"actor:sbcgua","name":"Alexander Tsybulsky","json":"/actors/sbcgua.json"},{"ref":"actor:christianguenter2","name":"Christian Günter","json":"/actors/christianguenter2.json"},{"ref":"actor:cwildt","name":"Christian Wildt","json":"/actors/cwildt.json"},{"ref":"actor:jrodriguez-rc","name":"Jaime Rodriguez Capote","json":"/actors/jrodriguez-rc.json"},{"ref":"actor:jxysgx7c","name":"JXYSGX7C","json":"/actors/jxysgx7c.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:mbtools","name":"Marc Bernard","json":"/actors/mbtools.json"},{"ref":"actor:mathieulawnik","name":"Mathieu Lawnik","json":"/actors/mathieulawnik.json"},{"ref":"actor:schneidermic0","name":"Michael Schneider","json":"/actors/schneidermic0.json"},{"ref":"actor:oblomov-dev","name":"oblomov-dev","json":"/actors/oblomov-dev.json"},{"ref":"actor:postavka","name":"Postavka","json":"/actors/postavka.json"},{"ref":"actor:thorsten-wolf-neptune","name":"thorsten-wolf-neptune","json":"/actors/thorsten-wolf-neptune.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:abappm-abap-strust","name":"abapPM/ABAP-Strust","json":"/artifacts/abappm-abap-strust.json","requirement":"required"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}