如何访问如下所示的JSON密钥:{'“ TimePeriod”':'2019-05-15'

时间:2019-05-16 14:01:48

标签: node.js json string parsing

这些天,我是编码和学习的新手。我陷入了一个最近的问题,在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

2 个答案:

答案 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"