{"id":32495307,"url":"https://github.com/defini7/json","last_synced_at":"2026-06-16T16:32:20.741Z","repository":{"id":285438468,"uuid":"958145376","full_name":"defini7/Json","owner":"defini7","description":"Single header-file Json library","archived":false,"fork":false,"pushed_at":"2025-09-09T15:14:17.000Z","size":13,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-27T13:55:42.297Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","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/defini7.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":"2025-03-31T18:05:02.000Z","updated_at":"2025-09-09T15:14:20.000Z","dependencies_parsed_at":"2025-03-31T19:24:39.819Z","dependency_job_id":"95349a9c-df70-4141-bbd0-edecd58cd979","html_url":"https://github.com/defini7/Json","commit_stats":null,"previous_names":["defini7rp/json","defini7/json"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/defini7/Json","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defini7%2FJson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defini7%2FJson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defini7%2FJson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defini7%2FJson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/defini7","download_url":"https://codeload.github.com/defini7/Json/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defini7%2FJson/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34415240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"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":[],"created_at":"2025-10-27T13:51:20.642Z","updated_at":"2026-06-16T16:32:20.732Z","avatar_url":"https://github.com/defini7.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple C++ JSON Parser\n\nA lightweight, header-only JSON parser and serializer written in C++20.\n\n## Features:\n- Header-only library\n- Supports objects, arrays, strings, numbers, booleans, null\n- Pretty-printed JSON output\n- Parse from strings or files\n\n## Installation:\n\nIn ONE translation unit:\n```cpp\n#define JSON_IMPL\n#include \"json.hpp\"\n```\n\nIn other files:\n```cpp\n#include \"json.hpp\"\n```\n\n## Basic Usage:\n\n### Parse from raw string:\n```cpp\n#include \"json.hpp\"\n\nint main()\n{\n    std::string raw = R\"({\n        \"name\": \"John\",\n        \"age\": 30,\n        \"active\": true\n    })\";\n\n    Json::Node root = Json::ParseRaw(raw);\n\n    std::cout \u003c\u003c root[\"name\"].String() \u003c\u003c std::endl;\n    std::cout \u003c\u003c root[\"age\"].Number() \u003c\u003c std::endl;\n}\n```\n\n### Parse from file:\n```cpp\nauto result = Json::ParseFile(\"data.json\");\n\nif (result)\n{\n    std::cout \u003c\u003c result-\u003eoperator[](\"name\").String() \u003c\u003c std::endl;\n}\n```\n\n### Accessing Values:\n\nObjects:\n```cpp\nstd::string name = root[\"name\"].String();\ndouble age = root[\"age\"].Number();\nbool active = root[\"active\"].Bool();\n```\n\nArrays:\n```cpp\nJson::Node\u0026 arr = root[\"items\"];\nstd::cout \u003c\u003c arr[0].String() \u003c\u003c std::endl;\nstd::cout \u003c\u003c arr[1].Number() \u003c\u003c std::endl;\n```\n\n### Dumping JSON:\n\nPrint:\n```cpp\nroot.Dump();\n```\n\nTo string:\n```cpp\nstd::string pretty = Json::Dump(root);\nstd::cout \u003c\u003c pretty;\n```\n\nCustom indentation:\n```cpp\nstd::string pretty = Json::Dump(root, 2);\n```\n\n### Supported Types:\n- string -\u003e String()\n- number -\u003e Number()\n- boolean -\u003e Bool()\n- null -\u003e IsNull()\n- array -\u003e Array()\n- object -\u003e Object()\n\n### Type Checking:\n```cpp\nnode.IsObject()\nnode.IsArray()\nnode.IsString()\nnode.IsNumber()\nnode.IsBool()\nnode.IsNull()\n```\n\n## Notes:\n- Keys preserve insertion order\n- Numbers are stored as double\n- No escape sequence handling yet\n- No unicode support\n- Minimal error recovery\n\n## License:\nBSD 3-Clause License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefini7%2Fjson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdefini7%2Fjson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefini7%2Fjson/lists"}