Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Jsonpath Laravel Package

softcreatr/jsonpath

Evaluate and query JSON with JSONPath in PHP. softcreatr/jsonpath lets you select, filter, and extract data from arrays/objects using familiar JSONPath expressions, making it easy to navigate complex nested structures for APIs, configs, and fixtures.

View on GitHub
Deep Wiki
Context7
1.0.2

Fixed tokenizer handling for quoted bracket keys containing $ so literals like ['[$the.size$]'] remain atomic and do not split into root tokens.

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/1.0.1...1.0.2

1.0.1
  • Aligned the query runner and lexer with the JSONPath comparison suite: JSON documents are now decoded as objects to preserve {} vs [], unsupported selectors no longer abort the runner, and dot-notation now accepts quoted keys with dots/spaces/leading @.
  • Hardened filter parsing: boolean-only filters (?(true|false|null)), literal short-circuiting (&& false, || true), and empty filters now return the expected collections instead of throwing.
  • Slice filters gracefully skip non-countable objects.

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/1.0.0...1.0.1

1.0.0

Version 1.0.0 is finally here!

  • Rebuilt the test suite from scratch: removed bulky baseline fixtures and added compact unit/integration coverage for every filter (index, union, query, recursive, slice), lexer edge cases, and JSONPath core helpers. Runs reflection-free and deprecation-free.
  • Achieved and enforced 100% code coverage across AccessHelper, all filters, lexer, tokens, and JSONPath core while keeping phpstan and coding standards clean.
  • Added a lightweight manual query runner with curated examples to exercise selectors quickly without external datasets.
  • Major compatibility push toward the unofficial JSONPath standard: unions support slices/queries/wildcards, trailing commas parse correctly, negative indexes and bracket-escaped keys (quotes, brackets, wildcards, special chars) are honored, filters compare path-to-path and root references, equality/deep-equality/regex/in/nin semantics align with expectations, and null existence/value handling follows RFC behavior.
  • New feature highlights from this cycle:
    • Multi-key unions with and without quotes: $[name,year] and $["name","year"].
    • Robust bracket notation for special/escaped keys, including ']', '*', $, backslashes, and mixed punctuation.
    • Trailing comma support in unions/slices (e.g. $..books[0,1,2,]).
    • Negative index handling aligned with spec (short arrays return empty; -1 works where valid).
    • Filter improvements: path-to-path/root comparisons, deep equality across scalars/objects/arrays/null/empties, regex matching, in/nin/!in, tautological expressions, and ?@ existence behavior per RFC.
    • Unions combining slices/queries/wildcards now return complete results (e.g. $[1:3,4], $[*,1]).

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/0.11.0...1.0.0

0.11.0

🔻 Breaking changes ahead:

  • Dropped support for PHP < 8.5
  • JSONPathToken now uses a TokenType enum and the constructor signature changed accordingly.
  • JSONPath options flag is now an int bitmask (was bool), requiring callers to pass integer flags.
  • SliceFilter returns an empty result for non-positive step values (previously iterated indefinitely).
  • QueryResultFilter now throws a JSONPathException for unsupported operators instead of silently proceeding.
  • Access helper behavior is stricter: arrayValues throws on invalid types; ArrayAccess lookups check offsetExists before reading; traversables and objects are handled distinctly.
  • Adopted PHP 8.5 features: TokenType enum, readonly value object for tokens, typed flags/options, and #[\Override] usage.
  • CI now runs on PHP 8.5 with required extensions; code style workflow updated accordingly.
  • Added coverage for AccessHelper edge cases (magic getters, ArrayAccess, traversables, negative indexes), QueryResultFilter arithmetic branches, and SliceFilter negative/null bounds.
  • Fixed empty-expression handling in lexer and improved safety in AccessHelper traversable lookups.
  • Added PHPStan static analysis to the toolchain and addressed its findings.

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/0.10.0...0.11.0

0.10.0

What's Changed

New Contributors

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/0.9.1...0.10.0

0.9.1

What's Changed

New Contributors

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/0.9.0...0.9.1

0.8.3

What's Changed

New Contributors

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/0.8.2...0.8.3

0.8.2

What's Changed

New Contributors

Full Changelog: https://github.com/SoftCreatR/JSONPath/compare/0.8.1...0.8.2

0.7.5
0.7.4
0.7.3
0.5.1
0.7.2
0.7.1
0.7.0

🔻 Breaking changes ahead:

  • Made JSONPath::__construct final
  • Added missing type hints
  • Partially reduced complexity
  • Performed some code optimizations
  • Updated composer.json for proper PHPUnit/PHP usage
  • Added support for regular expression operator (=~)
  • Added QueryTest to perform tests against all queries from https://cburgmer.github.io/json-path-comparison/
  • Switched Code Style from PSR-2 to PSR-12
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport