parent
fbdb0e1891
commit
8434e9f643
@ -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…
Reference in new issue