Relacionado con esta publicación: Analizar JSON para objetar usando JSON.parse
Me enfrento a un problema similar y uso console.dir (responseData.data, {profundidad: nulo}) puedo obtener el texto completo para el campo 'credApp'. Sin embargo, cuando trato de acceder al elemento como 'responseData.data.orderItems.credDecision.credApp' para validarlo con otra variable, obtengo el valor 'credApp' como indefinido.
Puedo obtener los valores hasta credDecision como responseData.data.orderId. ¿Hay alguna forma de resolver este problema? Cualquier ayuda es muy apreciada.
aquí está el código:
const getResponseData = (url) => new Promise((resolve, reject) => { http.get(url, res => { const { statusCode } = res; const contentType = res.headers['content-type']; res.setEncoding('utf8'); let rawData = ''; res.on('data', (chunk) => { rawData += chunk; }); res.on('end', () => resolve({ statusCode, contentType, rawData })); }).on('error', e => reject(e)); }); const responsePayload = await getResponseData(api_url+ orderNumber); var responseData = JSON.parse(responsePayload.rawData); console.dir(responseData.data, { depth: null }); var orderId = responseData.data.orders.externalOrderId; var credApp = responseData.data.orderItems.credDecision.credApp;Al publicar una parte de muestra de la respuesta de la API, ya que la carga útil de la respuesta es grande, estoy tratando de obtener OriginalOrderId y se devuelve como indefinido cuando lo convierto en JSON y lo valido con otro campo:
"data": { ringId: '1', consumerId: '2', orderSummary: { guestCheckout: null, id: '1233' orders: [{ orderId: 'ABC1233', orderType: '1' }], dateCreated: '2021-10-18T16:28:46.964Z', createdBy: 'User1' }, orders: [{ OriginalOrderId: '9693' }] }