Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

98
Vistas
Intentando crear un objeto usando jsonata desde un objeto existente

Intentando crear un objeto a partir de un objeto existente usando jsonata. Cuando los datos y la expresión se colocan en jsonata excerciser, se genera el resultado correcto. Sin embargo, cuando lo ejecuto en el programa Javascript, se generan errores.

siguiente es código javascript

 const data = { "compCode": "0006", "compState": "MH", "recvDocNo": "0075", "buCode": "AC", "branchCode": "001", "recvLines": [ { "lineNo": 1, "itemId": "00002", "qtyAccept": 10, "unitRate": 100, "basicVal": 1000, "taxableAmt": 1000, } ] }; let expr = { "compCode": compCode, "buCode": buCode, "lineNo": recvLines.lineNo, "itemId": recvLines.itemId }; jsonata(expr).evaluate(data);

Recibo un error - ReferenceError: compCode no está definido

cuando lo cambio a data.compCode y todas las demás propiedades del objeto de manera similar, aparece un error TypeError: path.charAt no es una función. Alguien podría decirme como hacerlo funcionar. Gracias por adelantado

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Parece que jsonata() espera una expresión de cadena como parámetro, que no se indica explícitamente en los documentos, pero se muestra en la sección In Nodejs .

 const data = { "compCode": "0006", "compState": "MH", "recvDocNo": "0075", "buCode": "AC", "branchCode": "001", "recvLines": [ { "lineNo": 1, "itemId": "00002", "qtyAccept": 10, "unitRate": 100, "basicVal": 1000, "taxableAmt": 1000, }, { "lineNo": 2, "itemId": "00006", "qtyAccept": 10, "unitRate": 100, "basicVal": 1000, "taxableAmt": 1000, } ] }; let expr = `{ "compCode": compCode, "buCode": buCode, "lineNo": recvLines.lineNo, "itemId": recvLines.itemId }`; console.log(jsonata(expr).evaluate(data));
 <script src="https://cdn.jsdelivr.net/npm/jsonata@1.8.5/jsonata.min.js"></script>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda