codestash/jsonparser_pseudo

27 lines
1.1 KiB
Plaintext
Raw Normal View History

2023-09-20 15:11:52 -05:00
originalString is a string containing all the data from a JSON file ready to be parsed.
Define ReadJSON(originalString):
Iterate through al l characters of originalString as index i:
First find '{', this is the opening brace for any given JSON object.
Allocate memory for our new JSONDocument object. Set pointer to result
Read characters until a '"' is found. This is the start of a key.
Find the next '"' that is not preceded by '\' (escape characters should ignore the next character). This is the end of a key.
Store the key name in a variable called key without the quotation marks.
Next find the colon ':' character.
Now read until a non-whitespace character (ignore \t, ' ', and \n) is found.
If it's a { then we found another JSON object:
Set start to i.
Set a nesting counter to 0.
Iterate through all characters of originalString continuing from index i as index i:
As we search, if we find a '{':
Increment nesting by 1.
As we search, if we find a '}':
If nesting == 0:
Call ReadJSON( originalString.substr(start, i) )
else:
Decrement nesting by 1.