问题描述
对于我希望将数据推送到的 API,我需要避免对特定值进行拆箱。
考虑以下输入:
library(jsonlite)
lsA <- list(propertyName = "listA",Values = c("x"))
lsB <- list(propertyName = "listB",Values = c("a","b","c"))
lsC <- list(propertyName = "listC",min = 1,max = 3)
我希望我的输出是这样的:
[
{
"propertyName": "listA","Values": ["x"]
},{
"propertyName": "listB","Values": ["a","c"]
},{
"propertyName": "listC","min": 1,"max": 3
}
]
但是,当我这样做时:
lsTest <- list()
lsTest <- list.append(lsTest,I(lsA),lsB,lsC)
jsonTest <- jsonlite::toJSON(lsTest,auto_unBox = TRUE,pretty = TRUE)
jsonTest
我得到了这个(注意 listA 的未装箱值):
[
{
"propertyName": "listA","Values": "x"
},"max": 3
}
]
如何避免在 toJSON 转换期间对特定的单元素向量进行拆箱?
EDIT:cwthom 很好地解决了它。只需将 c("x")
更改为 list("x")
。它也适用于包含多个项目的列表,并且只添加了一些额外的新行,这些行看起来只是装饰品,对我的最终结果没有任何负面影响。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)