occurs when string contains the close character e,g. "subject":"blah { blah"
because it looks for the close character for every occurrence of the open character. it needs to ignore the open character if it is contained within quotes.
Possible solution is to change the function: findCloseTag()
Add the line
quotChar = Chr(34)
Add to the Select Case statement
Case quotChar
quotCharCount = quotCharCount + 1<br/>
Change the Case pOpenTag to only increase the openTagCount if it is not within quotes i.e. the occcurence of the quote character is even.
If quotCharCount Mod 2 = 0 Then
openTagCount = openTagCount + 1<br/>
End If
likewise the Case pCloseTag
If quotCharCount Mod 2 = 0 Then
.....<br/>
End If