Доступ к JSON возвращает неопределенный - PullRequest
0 голосов
/ 14 октября 2018

Может кто-нибудь указать мне, что я делаю не так?Ниже мой json, возвращенный с веб-сервисов Amazon для заказов, и я использую приведенный ниже код в реакции, узел для печати количества заказа, и я получаю неопределенное

    { OrderItems:
   { OrderItem:
      { QuantityOrdered: '1',
        Title: 'X',
        ShippingTax: [Object],
        PromotionDiscount: [Object],
        ConditionId: 'New',
        IsGift: 'false',
        ASIN: 'X',
        SellerSKU: 'X',
        OrderItemId: 'X',
        ShippingDiscountTax: [Object],
        ProductInfo: [Object],
        GiftWrapTax: [Object],
        QuantityShipped: '0',
        ShippingPrice: [Object],
        GiftWrapPrice: [Object],
        ConditionSubtypeId: 'New',
        ItemPrice: [Object],
        ItemTax: [Object],
        ShippingDiscount: [Object],
        PromotionDiscountTax: [Object] } },
  AmazonOrderId: 'X,
  ResponseMetadata: { RequestId: 'X' },
  Headers:
   { 'x-mws-quota-max': 'unknown',
     'x-mws-quota-remaining': 'unknown',
     'x-mws-quota-resetson': 'unknown',
     'x-mws-timestamp': 'X',
     'content-type': 'text/xml',
     'content-charset': 'unknown',
     'content-length': '2172',
     'content-md5': 'unknown',
     date: 'Sun, 14 Oct 2018 17:00:05 GMT' },
  StatusCode: 200 }

Ниже мой код

 var Obj = response;
  console.log(Obj);
if (typeof Obj !== 'undefined') {
   var objectValue = Obj;                                        
   console.log(objectValue.OrderItem.QuantityOrdered);
 }

Ошибка:

    console.log(objectValue.OrderItem.QuantityOrdered);
                                                                          ^

TypeError: Cannot read property 'QuantityOrdered' of undefined

1 Ответ

0 голосов
/ 14 октября 2018

Убедитесь, что ваш JSON верен, в ответе, который вы предоставили, есть пара ошибок.После исправления вы сможете получить доступ к ответу следующим образом:

(function() {
  var __awsJSON = {
    OrderItems: {
      OrderItem: {
        QuantityOrdered: '1',
        Title: 'X',
        IsGift: 'false',
      }
    },
    AmazonOrderId: 'X',
    Headers: {
      date: 'Sun, 14 Oct 2018 17:00:05 GMT'
    },
    StatusCode: 200,
  };
  
  document.getElementById('quantity-ordered').textContent = __awsJSON.OrderItems.OrderItem.QuantityOrdered;
  document.getElementById('amazon-id').textContent = __awsJSON.AmazonOrderId;
  document.getElementById('date').textContent = __awsJSON.Headers.date;
  document.getElementById('status-code').textContent = __awsJSON.StatusCode;

})();
__awsJSON.OrderItems.OrderItem.QuantityOrdered
Заказанное количество:
__awsJSON.AmazonOrderId
Идентификатор Amazon:
__awsJSON.Headers.date
Заголовки ~ Дата:
__awsJSON.StatusCode
Код статуса:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...