Имела ту же проблему при использовании одинарных кавычек в файле JSON, которая была заменена на двойные кавычки для всех свойств/значений строки, и теперь она работает нормально, надеюсь, что это кому-то поможет....
Изменить:
JSON.parse("{'wrongQuotes': 5}")
To:
JSON.parse('{"rightQuotes": 5}')
Ответ 2
Если вы получаете JSON с закодированным ", перед тем, как сделать JSON.parse, вам нужно будет заменить каждый экземпляр " на true ". Что-то вроде:
myJSONstring.replace(/"/ig,'"');
Ответ 3
+ Изменить {"test":"101","mr":"103","bishop":"102"} к '{"test":"101","mr":"103","bishop":"102"}'
если это исходит от сервера (PHP) т.е. <?php $php_var = ["test" => "101", "mr" => "103", "bishop" => "102"]?>
затем в конце JavaScript var javascript_var = $.parseJSON('<?= json_encode($php_var)?>');