无法识别的表达式尝试访问值数组

时间:2018-03-28 20:51:46

标签: javascript jquery

我正在尝试访问包含属性子集的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

2 个答案:

答案 0 :(得分:4)

您可能希望使用JSON.parse来访问该值:

console.log(JSON.parse(testLayer[0].transactionItems));

答案 1 :(得分:3)

JSON.parse将包含对象文字的字符串转换为JavaScript对象。

你可以尝试

console.log(jQuery(JSON.parse(testLayer[0].transactionItems)));