-1

I'm experiencing difficulty reading object items below, until the object: 'subscription', works quietly but I need to read

'subscription [current_period_end]': '2018-09-15T09: 29: 59.439Z'

any suggestions how to do?

{
  id: '912017',
  fingerprint: '6f974d687c35989377351b3cd4c4b2101da5b615',
  event: 'subscription_status_changed',
  old_status: 'unpaid',
  desired_status: 'paid',
  current_status: 'paid',
  object: 'subscription',
  'subscription[payment_method]': 'boleto',
  'subscription[card_brand]': '',
  'subscription[card_last_digits]': '',
  'subscription[current_period_start]': '2018-08-16T09:29:59.436Z',
  'subscription[current_period_end]': '2018-09-15T09:29:59.439Z',
  'subscription[charges]': '1',
  'subscription[status]': 'paid',
  'subscription[date_created]': '2018-08-15T13:41:24.888Z',
  'subscription[date_updated]': '2018-08-16T09:29:59.791Z',
  'subscription[phone]': '',
  'subscription[address]': ''
}
31piy
  • 23,323
  • 6
  • 47
  • 67
  • What did you try and what's the problem? – BrTkCa Aug 17 '18 at 13:10
  • it looks like a duplicate of http://stackoverflow.com/questions/4968406/javascript-property-access-dot-notation-vs-brackets – Nina Scholz Aug 17 '18 at 13:12
  • That is a really weird response format. If possible as your backend to properly format that subscription object. I was about to point it but @31piy has a complete response about it. –  Aug 17 '18 at 13:13
  • Possible duplicate of [JavaScript property access: dot notation vs. brackets?](https://stackoverflow.com/questions/4968406/javascript-property-access-dot-notation-vs-brackets) – James Aug 17 '18 at 13:45

2 Answers2

0

subscription[current_period_end] is a string key for the object, so you need to pass it entirely like this:

yourObj['subscription[current_period_end]']

See the following demo:

var obj = {
  id: '912017',
  fingerprint: '6f974d687c35989377351b3cd4c4b2101da5b615',
  event: 'subscription_status_changed',
  old_status: 'unpaid',
  desired_status: 'paid',
  current_status: 'paid',
  object: 'subscription',
  'subscription[payment_method]': 'boleto',
  'subscription[card_brand]': '',
  'subscription[card_last_digits]': '',
  'subscription[current_period_start]': '2018-08-16T09:29:59.436Z',
  'subscription[current_period_end]': '2018-09-15T09:29:59.439Z',
  'subscription[charges]': '1',
  'subscription[status]': 'paid',
  'subscription[date_created]': '2018-08-15T13:41:24.888Z',
  'subscription[date_updated]': '2018-08-16T09:29:59.791Z',
  'subscription[phone]': '',
  'subscription[address]': ''
};

console.log(obj['subscription[current_period_end]']);
31piy
  • 23,323
  • 6
  • 47
  • 67
0

Have you tried console.log(data["subscription[current_period_end]"])?

michaelitoh
  • 2,317
  • 14
  • 26