{"id":30749717,"url":"https://github.com/rayokota/jsonata-cpp","last_synced_at":"2026-04-01T21:25:53.743Z","repository":{"id":310083101,"uuid":"1037677960","full_name":"rayokota/jsonata-cpp","owner":"rayokota","description":"JSONata for C++","archived":false,"fork":false,"pushed_at":"2026-03-14T22:36:55.000Z","size":471,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-15T08:15:50.266Z","etag":null,"topics":["cpp","json","jsonata"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rayokota.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-08-14T00:32:20.000Z","updated_at":"2026-03-14T22:37:00.000Z","dependencies_parsed_at":"2025-08-15T17:31:33.079Z","dependency_job_id":"428e41d1-a2e3-4e57-a910-052af2a75388","html_url":"https://github.com/rayokota/jsonata-cpp","commit_stats":null,"previous_names":["rayokota/jsonata-cpp"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rayokota/jsonata-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayokota%2Fjsonata-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayokota%2Fjsonata-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayokota%2Fjsonata-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayokota%2Fjsonata-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rayokota","download_url":"https://codeload.github.com/rayokota/jsonata-cpp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayokota%2Fjsonata-cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"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":["cpp","json","jsonata"],"created_at":"2025-09-04T06:44:47.676Z","updated_at":"2026-04-01T21:25:53.735Z","avatar_url":"https://github.com/rayokota.png","language":"C++","readme":"# jsonata-cpp\n\n[![Build Status][github-actions-shield]][github-actions-link]\n\n[github-actions-shield]: https://github.com/rayokota/jsonata-cpp/actions/workflows/cmake-multi-platform.yml/badge.svg?branch=master\n[github-actions-link]: https://github.com/rayokota/jsonata-cpp/actions\n\nC++ implementation of JSONata.\n\nThis is a C++ port of the  [JSONata reference implementation](https://github.com/jsonata-js/jsonata), \nand also borrows from the [Dashjoin Java port](https://github.com/dashjoin/jsonata-java).\n\nThis implementation supports 100% of the language features of JSONata, using [nlohmann_json](https://github.com/nlohmann/json).\nThe JSONata documentation can be found [here](https://jsonata.org).\n\n\n## Installation\n\nInstallation uses CMake as follows:\n\n```\ninclude(FetchContent)\n\nFetchContent_Declare(\n    jsonata\n    URL https://github.com/rayokota/jsonata-cpp/archive/refs/tags/v0.1.0.zip\n    URL_HASH SHA256=3ee1798f28a29d36ebbb273853979926716a384e4d491a6bd408e1f6de51760d  # Optional\n)\nFetchContent_MakeAvailable(jsonata)\n\n# Use the library\ntarget_link_libraries(your_target jsonata::jsonata)\n```\n\n## Getting Started\n\nA very simple start:\n\n```\n#include \u003ciostream\u003e\n#include \u003cjsonata/Jsonata.h\u003e\n#include \u003cnlohmann/json.hpp\u003e\n\nint main() {\n    // Create the JSON data\n    auto data = nlohmann::ordered_json::parse(R\"({\n        \"example\": [\n            {\"value\": 4}, \n            {\"value\": 7}, \n            {\"value\": 13}\n        ]\n    })\");\n\n    // Create the JSONata expression\n    jsonata::Jsonata expr(\"$sum(example.value)\");\n    \n    // Evaluate the expression with the data\n    auto result = expr.evaluate(data);\n    \n    // Print the result\n    std::cout \u003c\u003c \"Result: \" \u003c\u003c result \u003c\u003c std::endl;\n    \n    return 0;\n}\n```\n\n## Running Tests\n\nThis project uses the repository of the reference implementation as a submodule. This allows referencing the current version of the unit tests. To clone this repository, run:\n\n```\ngit clone --recurse-submodules https://github.com/rayokota/jsonata-cpp\n```\n\nTo build and run the unit tests:\n\n```\ncmake -DJSONATA_BUILD_TESTS=ON -S . -B build\ncmake --build build\nctest --test-dir build\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayokota%2Fjsonata-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frayokota%2Fjsonata-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayokota%2Fjsonata-cpp/lists"}