Add 'jsonparser_pseudo'
This commit is contained in:
parent
fbdb0e1891
commit
8434e9f643
26
jsonparser_pseudo
Normal file
26
jsonparser_pseudo
Normal file
@ -0,0 +1,26 @@
|
||||
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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user