Как получить доступ к ключу JSON, который выглядит следующим образом: {'"TimePeriod"': '2019-05-15' - PullRequest
0 голосов
/ 16 мая 2019

Я новичок в программировании и изучаю много в эти дни. Я застрял в недавней проблеме, которую я не мог решить с помощью Google. Я получаю JSON от вызова API. Я проанализировал его, сохранил в 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 голосов
/ 17 мая 2019

Учитывая тот объект, один правильный способ получить это свойство - ['"TimePeriod"'].

См.

({ 
  '"TimePeriod"': '2019-05-15',
  AveragePosition: '3.25',
  ConversionRate: '0',
  CostPerAssist: '0',
})['"TimePeriod"']

, доходность

"2019-05-15"
0 голосов
/ 16 мая 2019

Я бы предложил перебрать объект, чтобы получить значения.Вы можете сделать это через for ... in:

for(var prop in myObject) {
  console.log(myObject[prop])
}

Ссылка: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

...