Я пытаюсь прочитать вывод Json из R-скрипта, мой R-файл (RScript.R) выглядит так:
cat("[{\"code\":0,\"message\":\"FILE1.xls has been successfully checked.\"}]")
Я создал в C # метод, который запускает скрипт R, который выглядит следующим образом:
public static string RunRScript(string scriptpath)
{
string result, errResult;
try
{
var info = new ProcessStartInfo
{
FileName = RExeFolder,
WorkingDirectory = Path.GetDirectoryName(RExeFolder),
Arguments = scriptpath,
RedirectStandardOutput = true,
CreateNoWindow = false,
UseShellExecute = false
};
using (var proc = new Process { StartInfo = info })
{
proc.Start();
result = proc.StandardOutput.ReadToEnd();
errResult = proc.StandardError.ReadToEnd();
return result;
}
}
catch (Exception ex)
{
//Do something with error
}
return string.Empty;
}
Вывод выглядит нормально, когда я запускаю его в cmd, то есть без "\":
Но проблема возникает, когда я хочу прочитать вывод из C #, у меня есть веб-интерфейс API, который вызывает метод RunRScript и возвращает строку, и вывод выглядит так:
Я пытался проверить в момент чтения вывода из скрипта, и он выглядит так же, как в API, с двойными кавычками:
Вопросы:
- Есть ли что-то, что я делаю не так?
- Является ли C # повторным выходом из двойного
цитаты?