Here is a string:
"{aa:function(){},bb:document.body}"
JSON.parse doesn't work for this,how to convert it to JS object?
Here is a string:
"{aa:function(){},bb:document.body}"
JSON.parse doesn't work for this,how to convert it to JS object?
 
    
     
    
    You could use eval with a prepended assingment.
Caveat: Why is using the JavaScript eval function a bad idea?
var string = "{aa:function(){},bb:document.body}",
    object;
    
eval('object = ' + string);
console.log(object); 
    
    An option in this case could be to use new Function().
It is less evil than eval(), and here is an answer with an explanation about their difference:
Stack snippet
var string = "{aa:function(){},bb:document.body}",
    object;
    
object = new Function( 'return (' + string + ')' )();
console.log(object); 
    
    In case you need to treat the string as a json object:
let str = "{\"aa\":\"function() { console.log('Look mama no hands'); }\",\"bb\":\"document.body\"}";
let obj = JSON.parse(str);
let func = null;
eval("func = "+obj.aa);
func();