Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

124
Visualizações
El proceso de generación de Python de Node.JS da el error 'JSONDecodeError("Esperando valor", s, err.value) de Ninguno'

Estoy tratando de generar un proceso de python (App.py) desde un archivo node.js (index.js).

El script index.js genera el script de python App.py y le pasa un argumento params (un objeto json). App.py luego lee el parameter1 del elemento uParams y envía el valor como un mensaje a index.js.

Sin embargo, cuando ejecuto el script index.js, aparece el error JSONDecodeError("Expecting value", s, err.value) from None .

Traté de reemplazar json.loads(sys.argv[1]) con sys.argv[1] pero al ejecutarlo me da el error TypeError: string indices must be integers .

¿Formateé incorrectamente el objeto JSON 'params' en index.js ?

¿Podría ayudarme a detectar el problema?

¡Gracias por adelantado!

índice.js:

 const spawn = require("child_process").spawn; let params = { "type":"numbers", "lang":"js", "uParams":[{ "parameter1":1, "parameter2":2, "parameter3":3 }] } const pythonProcess = spawn('python',['./App.py', params]); pythonProcess.stdout.on('data', (data)=>{ console.log(data.toString()); });

Aplicación.py:

 import sys, json params = json.loads(sys.argv[1]) print(params['uParams'][0]['parameter1']) sys.stdout.flush()
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tienes que codificar tu objeto JSON con JSON.stringify .

 const pythonProcess = spawn('python',['./App.py', JSON.stringify(params)]);

Francamente, me sorprende que spawn no se queje de que solo acepta argumentos de cadena, pero debe estar llamando a toString en su objeto, por lo que solo está pasando [object Object] .

 > ({foo:'bar'}).toString() '[object Object]'
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda