这些天,我是编码和学习的新手。我陷入了一个最近的问题,在Google的帮助下我无法解决。我从API调用获取JSON。我解析它,将其保存到myObject中,它看起来像这样:
{
'"TimePeriod"': '2019-05-15',
AveragePosition: '3.25',
ConversionRate: '0',
CostPerAssist: '0',
}
如您所见,单词TimePeriod
被包围,但单引号和双引号引起来。一个奇怪的发现是,当我从控制台复制JSON时,会向其中添加一个空字符串,该字符串在控制台内不可见:' "TimePeriod"'
我试图像数组一样访问它:
myObject["TimePeriod"];
myObject['"TimePeriod"'];
myObject[' "TimePeriod"'];
myObject['\"TimePeriod\"']
myObject['\'\"TimePeriod\"\'']
等但我无法获取日期值2019-05-15。很明显,我可以访问第一个TimePeriod以下的所有其他值。
我得到的TimePeriod
总是:undefined
。
答案 0 :(得分:0)
我建议对对象进行迭代以获取值。您可以通过for ...来完成此操作:
for(var prop in myObject) {
console.log(myObject[prop])
}
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
答案 1 :(得分:0)
为该对象提供一种获得该属性的正确方法是['"TimePeriod"']
。
请参见
({
'"TimePeriod"': '2019-05-15',
AveragePosition: '3.25',
ConversionRate: '0',
CostPerAssist: '0',
})['"TimePeriod"']
收益
"2019-05-15"