Recently I was learning about language parsing and abstract syntax trees. After getting some knowledge about this, I decided to write a JSON parser from scratch.
You (correctly) note that this is a 'simple' json parser. It's probably worth (as you would get asked in a coding interview) what the trade-offs / limitations are. I'm not sure I have spotted them all, but the biggest ones I can see are memory usage (makes multiple memory copies of strings and numbers), GC pressure (it's allocating a whole bunch of small objects that probably won't be needed / kept around) and the fact that the whole json file needs to be read in to memory before you can start using it.
You (correctly) note that this is a 'simple' json parser. It's probably worth (as you would get asked in a coding interview) what the trade-offs / limitations are. I'm not sure I have spotted them all, but the biggest ones I can see are memory usage (makes multiple memory copies of strings and numbers), GC pressure (it's allocating a whole bunch of small objects that probably won't be needed / kept around) and the fact that the whole json file needs to be read in to memory before you can start using it.
Can anybody spot any I've missed?