fromJSON(commandArgs(1))中出错:意外字符''';

fromJSON(commandArgs(1))中出错:意外字符''';,json,r,scala,Json,R,Scala,我正在使用Scala.sys.process从Scala调用R脚本。此脚本采用JSON格式的命令行参数并对其进行处理。我正在使用rjson的fromJSON函数将JSON存储在列表中 当我从命令行执行R脚本时,这工作得非常好: $ ./dfChargerFlink.R '{"Id":"1","value":"ABC"}' 但是当我从scala调用它时,我得到以下错误: Error in fromJSON(commandArgs(1)) : unexpected character ''' Ex

我正在使用Scala.sys.process从Scala调用R脚本。此脚本采用JSON格式的命令行参数并对其进行处理。我正在使用
rjson
fromJSON
函数将JSON存储在列表中

当我从命令行执行R脚本时,这工作得非常好:

$ ./dfChargerFlink.R '{"Id":"1","value":"ABC"}'
但是当我从scala调用它时,我得到以下错误:

Error in fromJSON(commandArgs(1)) : unexpected character '''
Execution halted
这是我正在使用的代码:

val shellCommand = "./dfChargerFlink.R '"+arg+"'"
return shellCommand !!
其中arg是JSON字符串。 您可以注意到,我在JSON字符串的两侧都添加了“'”,如果没有,则会出现以下错误:

Error in fromJSON(commandArgs(1)) : unclosed string
Execution halted

如何解决这个问题?这是什么错误吗?

尝试将
中的R行
从json(commandArgs(1))
更改为json(gsub(“^'|'$”,“”,commandArgs(1))
。如果传递了前导和尾随的
,您将删除该字符。@nicola我猜
来自JSON(gsub(“^”|“$”,“”,commandArgs(1))
删除
。但是我得到了我在问题末尾提到的错误。我希望那些
在那里。当我从命令行做的时候,它能工作。你试过了吗?
不会从命令中删除,而是在从R处理参数时删除。它就在那里。这只是一个假设,你会得到错误,还是你真的尝试了,并得到了错误?@nicola我尝试了,并得到了错误,然后才发表评论。我得到了
unclosed字符串
error您是否可以将
shellCommand
变量写入文件以查看您传递的实际命令?
arg
中可能有问题。