https://github.com/buijs-dev/squint
Lightweight JSON processor and AST. Safely (de)serialize JSON decoded Strings to Dart Types.
https://github.com/buijs-dev/squint
ast dart flutter json
Last synced: 29 days ago
JSON representation
Lightweight JSON processor and AST. Safely (de)serialize JSON decoded Strings to Dart Types.
- Host: GitHub
- URL: https://github.com/buijs-dev/squint
- Owner: buijs-dev
- License: mit
- Created: 2022-10-27T17:45:34.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-10-07T20:41:16.000Z (8 months ago)
- Last Synced: 2026-02-17T08:43:07.807Z (3 months ago)
- Topics: ast, dart, flutter, json
- Language: Dart
- Homepage:
- Size: 879 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://pub.dev/publishers/buijs.dev/packages)
[](https://github.com/buijs-dev/squint/blob/main/LICENSE)
[](https://pub.dev/packages/squint_json)
[](https://codescene.io/projects/32221)
[](https://codecov.io/gh/buijs-dev/squint)
Lightweight JSON processor and AST.
Safely deserialize JSON decoded Strings to Dart Types.
A JSON decoding library that actually decodes nested lists.
**No more dynamic mapping!**
````dart
const example = """
{
"aRidiculousListOfLists": [ [ [ [ "Lugia", "Ho-Oh" ], [ "Pikachu!" ] ] ] ]
}""";
final decoded = example.jsonDecode;
final myArray = decoded.array("aRidiculousListOfLists");
expect(myArray.data[0][0][0][0], "Lugia");
expect(myArray.data[0][0][0][1], "Ho-Oh");
````
# Features
- Deserialize JSON properly including (nested) arrays.
- Deserialize JSON without writing data classes.
- Generate data classes from JSON content.
- Generate boilerplate for JSON processing programmatically.
- Generate boilerplate for JSON processing through cli.
- Format JSON messages.
- Does not require build_runner.
- Does not require dart:mirrors.
- Extensible: Write and reuse custom JSON data converters.
# Documentation
For latest release see [0.1.4](https://buijs-dev.github.io/squint/#/).