r - R - POST 的 JSON 结构
问题描述
我已经阅读了有关使用 toJSON() 创建 JSON 的所有内容,但它只是没有点击。任何指导将不胜感激。
我正在尝试为对 API 的 POST 请求创建 JSON。我正在尝试创建以下结构:
{
"configuration": {
"Id": 1,
"OptionIds": [
261,
263,
533122,
228
]
},
"length": 15000,
"zip": "92691",
"Date": "2019-09-11T15:46:31.354Z"
}
试图逐个元素地分解它,我可以开始接近,但一旦尝试将所有东西结合起来,就永远无法得到最终的解决方案。
例如。
v_opt_ids <- list(OptionsIds = c(261,
263,
533122,
228))
cat(jsonlite::toJSON(v_opt_ids, pretty=T))
产生:
{
"OptionsIds": [261, 263, 533122, 228]
}
虽然这并不是我在该部分中的目标,但当与其他元素结合使用时。
config <- data.frame(
vehicleId = c(444449),
v_opt_ids)
cat(jsonlite::toJSON(list(configuration = config), pretty=T))
事情很快就出问题了。。
{
"configuration": [
{
"vehicleId": 444449,
"OptionsIds": 261
},
{
"vehicleId": 444449,
"OptionsIds": 263
},
{
"vehicleId": 444449,
"OptionsIds": 533122
},
{
"vehicleId": 444449,
"OptionsIds": 228
}
]
}
任何指导将不胜感激。
解决方案
使用嵌套list
s:
L <- list(
configuration = list(
Id = 1,
OptionIds = c(261, 263, 533122, 228)
),
length = 15000,
zip = "92691",
Date = "2019-09-11T15:46:31.354Z"
)
jsonlite::toJSON(L, pretty = TRUE, auto_unbox = TRUE)
# {
# "configuration": {
# "Id": 1,
# "OptionIds": [261, 263, 533122, 228]
# },
# "length": 15000,
# "zip": "92691",
# "Date": "2019-09-11T15:46:31.354Z"
# }
( pretty=TRUE
JSON 不需要,只是使用它来尝试匹配您的预期输出。auto_unbox=TRUE
确保一个得到"Id":1
而不是"Id":[1]
,这对于大多数使用 json 的东西来说在功能上是相同的,有些人认为它是一种更可取的格式。
推荐阅读
- r - 在 R 中跨列应用函数列表以填写表格
- c - 以相反的顺序打印字符串数组中的字符串
- python - 有没有办法在 Python 中创建参数化类型别名?
- jsf - 我正在尝试将一些贬义的代码 .createValueBinding 带到推荐代码更新中
- javascript - 反转时简单滑块正确添加类
- c# - UWP 从 TemplateSelector 更改为用户控件不再显示绑定
- java - Minecraft Player On World 加入活动
- django - 在Django中创建实例时使用类方法修改模型?
- python - 我的脚本或 XML 文件有问题吗?我正在使用 ElementTree 试图获取子属性
- python - python 与 python:alpine docker 镜像的兼容性如何?