How hard-rox/json-linq works
JsonLinq is a .NET library for loading JSON and querying it through a fluent, LINQ-like API. The main workflow is to parse JSON text or a file into a query, select a scope, apply filters, ordering, grouping, projection, and aggregation, then retrieve results. Path resolution supports navigation, while extension methods provide typed field access in predicates. The sampled implementation shows these responsibilities, but does not expose every API method body; the broader query capabilities are documented in the README.
Main entry points: JsonQuery.cs Fluent query · PathResolver.cs Path resolver · JsonParser.cs JSON parser · InvalidPathException.cs Invalid path
Components 8
Query API
- Fluent query
src/JsonLinq/JsonQuery.cs - Value accessors
src/JsonLinq/JsonNodeExtensions.cs
Parsing and navigation
- JSON parser
src/JsonLinq/Utilities/JsonParser.cs - Path resolver
src/JsonLinq/Utilities/PathResolver.cs - Sort values
src/JsonLinq/Utilities/JsonValueHelper.cs
Query errors
- Query exception
src/JsonLinq/Exceptions/JsonQueryException.cs - Invalid path
src/JsonLinq/Exceptions/InvalidPathException.cs
Other components
- Library user
Connections 9
- Library user → Fluent query: starts query
README.md - Fluent query → JSON parser: parses input
src/JsonLinq/JsonQuery.cs - Library user → Fluent query: chains operations
README.md - Fluent query → Path resolver: resolves paths
src/JsonLinq/JsonQuery.cs - Fluent query → Sort values: compares sort values
src/JsonLinq/JsonQuery.cs - Value accessors → Path resolver: resolves nested values
src/JsonLinq/JsonNodeExtensions.cs - JSON parser → Query exception: throws on invalid JSON
src/JsonLinq/Utilities/JsonParser.cs - Path resolver → Invalid path: throws for bad index
src/JsonLinq/Utilities/PathResolver.cs - Invalid path → Query exception: derives from
src/JsonLinq/Exceptions/InvalidPathException.cs