Can you please tell me the reason for this specific syntax structure
eval(\'(\' + jsonString+ \')\')
When parsing json text. Crockford sa
An object literal needs to be wrapped in parentheses to properly be evaluated in eval context and other contexts:
eval('{}') is undefined, for example. whereas eval('(' + '{}' + ')' ) evaluates to Object.
If you tried this in the console, for example: {"foo":"bar"} it would throw an invalid label at you. Wrap it in parentheses and it becomes a valid expression.