MoonBit JSONPath is a small JSONPath parser and evaluator written in MoonBit. It targets the core query patterns described by RFC 9535 and integrates directly with moonbitlang/core/json.
The project is maintained for the MoonBit Open Source Ecosystem Competition 2026. The public repositories are:
query is the usual entry point. It returns Err(message) for unsupported or malformed JSONPath syntax and returns an empty array when a valid query simply finds no matching node.
Development
moon update
moon fmt --check
moon check --warn-list +73
moon test
moon run cmd/main
The repository also contains a GitHub Actions workflow that runs the same verification path on every push and pull request.
Mooncakes package ppyj663/moon-jsonpath version 0.1.0 is published. The release was validated with moon package, moon publish --dry-run, and moon publish.
MoonBit JSONPath
MoonBit JSONPath is a small JSONPath parser and evaluator written in MoonBit. It targets the core query patterns described by RFC 9535 and integrates directly with
moonbitlang/core/json.The project is maintained for the MoonBit Open Source Ecosystem Competition 2026. The public repositories are:
Features
Jsonvalues frommoonbitlang/core/json.Installation
The module name is:
Install the published Mooncakes package from your project root:
Then import it from a package:
Quick Start
Run the included example:
Expected output:
Supported Syntax
$$.<name>$.store.bicycle['<name>']or["<name>"]$['store']['book'].. <name>without the space$..price.*/[*]$.store.book[*][<number>]$.store.book[0]Not yet supported: filters such as
[?(@.price < 10)], slices, unions, negative indices, and function extensions.API
queryis the usual entry point. It returnsErr(message)for unsupported or malformed JSONPath syntax and returns an empty array when a valid query simply finds no matching node.Development
The repository also contains a GitHub Actions workflow that runs the same verification path on every push and pull request.
Mooncakes package
ppyj663/moon-jsonpathversion0.1.0is published. The release was validated withmoon package,moon publish --dry-run, andmoon publish.Competition Closeout
Closeout evidence is tracked in docs/competition/acceptance.md. The one-page project report is report.pdf.
License
This project is released under the Apache License 2.0.