| |
6502 JSON Parser V1.2.0 [2022] |
Website :
https://commocore.com/repository/6502-json-parser
User rating: | awaiting 8 votes (8 left) |
Credits :
Download :
Look for downloads on external sites:
Pokefinder.org
Summary Submitted by Bago Zonde on 13 August 2022
6502 JSON Parser is a library created to parse valid JSON objects (from stream or memory location). It's written with 64tass cross-assembler.
You can find source code, and details about installation and usage here: https://bitbucket.org/Commocore/6502-json-parser
Features:
- any given length of JSON can be parsed, it also applies to value length
- static or stream parsing mode: JSON object can be downloaded at once before parsing, or can be parsed from open stream which can be useful for heavy responses
- with just one line of code, it's an easy way to store array of strings, or integers in a table, without memory constraints
- escape characters are supported for keys, and values (e.g. quotes escaped by backslash character)
- option to convert ASCII characters to PETSCII, so they can be displayed on screen straight away
- possibility to store not only values, but also keys (including length of these values and keys)
- no zero-page addresses occupied (though it's configurable to do so), so you don't have to care about reserving one, and avoiding variable collisions
- keys length is limited but configurable (up to 256 bytes)
- nesting level of JSON elements up to 256 levels
- parser allows to store only relevant data
# Changelog
## [1.2.0] - 2022-08-13
### Fixed
- Rewritten behaviour of walking forward due to fetching overflow issue for streamed parsing resulting in extra byte fetched at the end
- Parsing of keys longer than JSON_KEY_MAX_LENGTH, implementation was wrong... and test was wrong
### Added
- Differentiate test suites for streamed parsing for 1-byte and 10-byte buffers
- Test assertions to check the exact position of buffer position to prevent fetching overflows
- Information in README how to add 6502 JSON Parser library to projects written in different cross-assemblers
### Changed
- Applying tests for streamed parsing that were only in static parsing test suite
- Reading from stream ahead before expecting any object is no longer needed, it should be backward compatible
- Simplifying objects nesting logic, resulting in removed nesting level acknowledge table that was taking 256 bytes
- Splitted key functions into separate include files |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
· Summaries (1)
· User Comments
· Production Notes
|
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|