It is html encoded, which is different to being URI encoded. There is, AFAIK, no built in function to decode html entities. However, this answers provides a simple function:
https://stackoverflow.com/a/43282001/2681964
copied over the code snippet from the mentioned answer
function convertHTMLEntity(text){
    const span = document.createElement('span');
    return text
    .replace(/&[#A-Za-z0-9]+;/gi, (entity,position,text)=> {
        span.innerHTML = entity;
        return span.innerText;
    });
}
console.log(JSON.parse(convertHTMLEntity(your_encoded_json)));
However, this uses the DOM so can only be used in the browser.
Assuming that only the "s are encoded, and you need to run this code in a non-browser environment, you can use
console.log(JSON.parse(your_encoded_json.replace(/"/g, '"')));