{"id":29151249,"url":"https://github.com/karpeleslab/pjson","last_synced_at":"2026-02-25T07:11:41.561Z","repository":{"id":177463483,"uuid":"660442312","full_name":"KarpelesLab/pjson","owner":"KarpelesLab","description":"Clone of go's encoding/json with some features such as contexts and group resolution","archived":false,"fork":false,"pushed_at":"2025-12-14T01:21:25.000Z","size":250,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-15T21:28:57.252Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KarpelesLab.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-06-30T02:52:15.000Z","updated_at":"2025-12-14T01:19:09.000Z","dependencies_parsed_at":"2023-07-15T19:17:49.614Z","dependency_job_id":null,"html_url":"https://github.com/KarpelesLab/pjson","commit_stats":null,"previous_names":["karpeleslab/pjson"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/KarpelesLab/pjson","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fpjson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fpjson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fpjson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fpjson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KarpelesLab","download_url":"https://codeload.github.com/KarpelesLab/pjson/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fpjson/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29813682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T05:36:42.804Z","status":"ssl_error","status_checked_at":"2026-02-25T05:36:31.934Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2025-07-01T00:08:55.564Z","updated_at":"2026-02-25T07:11:41.532Z","avatar_url":"https://github.com/KarpelesLab.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GoDoc](https://godoc.org/github.com/KarpelesLab/pjson?status.svg)](https://godoc.org/github.com/KarpelesLab/pjson)\n\n# encoding/json fork\n\nThis is a fork of `encoding/json` with the following features added:\n\n* Context support: MarshalContext() accepts a context that can be accessed by implementing a variant of MarshalJSON()\n* Groups: it is possible to have methods returning groups of values\n\n## Context\n\nObjects can now implement a `MarshalContextJSON(context.Context)` method that will be called over the usual `MarshalJSON()` with\nthe context of the encoding. `Marshal(v)` will use `context.Background()` by default, and the new `MarshalContext(ctx, v)` receives\na context that will be passed to all objects encoded in the process.\n\n## Grouping\n\nObjects can implement a `GroupMarshalerJSON(ctx context.Context, st *pjson.GroupState) ([]byte, error)` method that will be\ncalled upon marshaling and can use GroupState to specify it needs to gather specific data in batches before rending is possible.\n\nThis can be useful when data returned from a json encoding is taken from a database, and many objects access elements from a given\nlist. These can be grouped in a single SELECT (or similar) from the database, greatly reducing the time needed for render.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarpeleslab%2Fpjson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarpeleslab%2Fpjson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarpeleslab%2Fpjson/lists"}