我正在尝试访问包含属性子集的JS变量,其中一个属性具有值数组,但是当我可以访问同一对象的其他属性时,我得到一个jQuery错误,试图访问该数组语法中必定存在某些内容,导致其因以下错误而中断:
jquery-1.8.3.min.js:2 Uncaught Error: Syntax error, unrecognized expression: [{"sku":"6104"}]
我已将变量删回到以下,但遗憾的是我无法控制此变量的实时环境的语法,所以我不知道如何解决这个问题。本质上,这是用于从变量中提取数据以在GTM中使用。
var testLayer = [{
"testProperty": 'test',
"transactionItems": "[{\"sku\":\"6104\"}]"
}];
console.log(jQuery(testLayer[0].testProperty)); // Works
console.log(jQuery(testLayer[0].transactionItems)); // Fails with unrecgnised expression
答案 0 :(得分:4)
您可能希望使用JSON.parse
来访问该值:
console.log(JSON.parse(testLayer[0].transactionItems));
答案 1 :(得分:3)
JSON.parse
将包含对象文字的字符串转换为JavaScript对象。
你可以尝试
console.log(jQuery(JSON.parse(testLayer[0].transactionItems)));