Как отправить код C в виде объекта javascript?

#javascript #json

#javascript #json

Вопрос:

Итак, я создаю IDE, используя judge0 api. Для компиляции и запуска требуется атрибут source_code для отправки. Теперь проблема заключается в следующем — если я пишу код в одной строке, то он показывает ошибку, а если пишу код в другой строке, используя «» после каждой строки, то также выдает ошибку. Теперь, как я должен отправить этот код в API.

 const express = require("express");
const axios = require("axios");
const app = express();
const PORT = 3000;

const source =
  '
#include <stdio.h>
int main(void) {
  char name[10];
  scanf("%s",name);
  printf("hello %s",name);
  return 0;
    }
';

axios({
  method: "POST",
  url: "https://judge0.p.rapidapi.com/submissions",
  headers: {
    "content-type": "application/json",
    "x-rapidapi-host": "judge0.p.rapidapi.com",
    "x-rapidapi-key": "7b3dddefe1msheb8ab51a9e386f1p114d8ejsn6f6d49dd4d69",
    accept: "application/json",
    useQueryString: true,
  },
  data: {
    language_id: 50,
    source_code: source,
    stdin: "world",
  },
})
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error);
  });

app.listen(PORT, (req, res) => {
  console.log("Started on port "   PORT);
});

  

Комментарии:

1. Многострочность в javascript работает не так. Если вы подходите таким образом, преобразуйте их в строки шаблона (просто найдите строки шаблона в Google). Также вы можете добавить символ перевода строки (Windows one — это rn ).

2. Создание шаблонов решило проблему. Спасибо! Я где-то видел в stack overflow, как передавать многострочные строки. Там это было задано так, как я написал в приведенном выше коде, и это не сработало.

3. конечно, можно использовать оба, скорее всего, это связано с тем, что вы не включаете переводы строк и #include <stdio.h>int main(void) { вызываете проблему: playcode.io/657046