{"id":22300738,"url":"https://github.com/paladin-t/jpath","last_synced_at":"2025-10-13T23:31:32.994Z","repository":{"id":77919402,"uuid":"247940937","full_name":"paladin-t/jpath","owner":"paladin-t","description":"An easy to use RapidJSON reader/writer in one header.","archived":false,"fork":false,"pushed_at":"2022-12-08T06:32:37.000Z","size":1089,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T19:48:16.918Z","etag":null,"topics":["cpp","json","rapidjson"],"latest_commit_sha":null,"homepage":"","language":"C++","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/paladin-t.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}},"created_at":"2020-03-17T10:28:08.000Z","updated_at":"2023-08-24T15:54:41.000Z","dependencies_parsed_at":"2023-02-25T20:30:26.350Z","dependency_job_id":null,"html_url":"https://github.com/paladin-t/jpath","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paladin-t/jpath","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-t%2Fjpath","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-t%2Fjpath/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-t%2Fjpath/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-t%2Fjpath/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paladin-t","download_url":"https://codeload.github.com/paladin-t/jpath/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-t%2Fjpath/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017239,"owners_count":26086015,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cpp","json","rapidjson"],"created_at":"2024-12-03T18:13:49.661Z","updated_at":"2025-10-13T23:31:32.958Z","avatar_url":"https://github.com/paladin-t.png","language":"C++","readme":"# Jpath - An easy to use RapidJSON reader/writer\n\nJpath can be used to read and write a RapidJSON value in an intuitive way.\n\n### Dependency\n\nRequires a C++ compiler with variadic template (since C++11) capability.\n\n### Usage\n\n* `Jpath::get(val, ref /* out */, ... /* path */)`: reads `ref` from `val` along with the specific path; fails if any intermediate node does not exist\n\t* returns `true` for success, `false` for fail\n* `Jpath::set(doc, val, ref /* in */, ... /* path */)`: writes `ref` to `val` along with the specific path; omitted intermediate nodes are generated\n\t* returns `true` for success, `false` for fail\n\n### Example\n\n```cpp\n#include \"jpath.hpp\"\n\nint main(int argc, const char* argv[]) {\n\trapidjson::Document doc;\n\n\tint i32 = 0;\n\tfloat real = 0.0f;\n\tconst char* str = nullptr;\n\n\tJpath::set(doc, doc, 42, \"hello\", 0, \"world\");\n\tJpath::set(doc, doc, 22/7.0f, \"hello\", 0, \"pi\");\n\tJpath::get(doc, i32, \"hello\", 0, \"world\");\n\tJpath::get(doc, real, \"hello\", 0, \"pi\");\n\tprintf(\"%d\\n\", i32);\n\tprintf(\"%f\\n\", real);\n\tJpath::set(doc, doc, \"test\", \"hello\", 0, \"world\");\n\tJpath::get(doc, str, \"hello\", 0, \"world\");\n\tprintf(\"%s\\n\", str);\n\n\treturn 0;\n}\n```\n\nThe above code manipulates a JSON as:\n\n```json\n{\n  \"hello\": [\n    {\n      \"world\": ...,\n      \"pi\": ...\n    }\n  ]\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaladin-t%2Fjpath","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaladin-t%2Fjpath","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaladin-t%2Fjpath/lists"}