我正在尝试使用jsonlite包和toJSON函数将R列表编码为json。我有一个简单的项目,如:
list(op='abc')
我希望成为:
{
"op" : "abc"
}
相反,我得到:
{
"op" : ["abc"]
}
我试图为这个json提供的API会对后者产生影响并需要前者。关于如何从jsonlite(或其他R json包)获取前一行为的任何建议?
答案 0 :(得分:3)
auto_unbox
参数与jsonlite
包有关:
toJSON(list(op='abc'),auto_unbox=TRUE)
的产率:
{"op":"abc"}
更新:基于评论,这种方法可能更安全,并举例说明原因:
> jsonlite::toJSON(list(x=unbox(1),y=c(1,2)))
{"x":1,"y":[1,2]}
> jsonlite::toJSON(list(x=unbox(1),y=unbox(c(1,2)))) # expect error here.
Error: Tried to unbox a vector of length 2