Перед синтаксическим анализом проверьте, имеет ли msg
тип строковый или объект, используя оператор type of
.
Я не уверен, почему вы выполняете строковое преобразование и анализируете один и тот же объект msg
и пытаетесь получите некоторые свойства из него.
Если вы просто заинтересованы в получении свойств возвращаемого объекта. Проверьте тип и перейдите ..
jQuery.get('url', function(msg) {
if (typeof msg === 'string') {
msg = JSON.parse(msg); // you can write a try-block-catch in case if its not a valid JSON
}
// additionally check for typeof msg === 'object'
let productId = msg.productid; // you can add extra check using text.hasOwnProperty('productid'); if not sure
let productName = msg.productname;
// ...
});