Replacing single quote from a string

I have a string with contain some single quote, I want to replace all the single quote present inside string with double quote excluding the single quote preset inside {} [] () . Any pointer will be really helpful trying to solve this using JAVASCRIPT.

Actual String :

let str =`name:'John' {hobbies:'Playing'} , (age: '45')`;
console.log(str);

Expected Output:

name:”John” {hobbies:’Playing’} , (age: ’45’)