JSON.parse replacement with clearer Syntax messages providing location, expected tokens and offending text. Errors are returned, not thrown. By Harald Rudell