Не эксперт json, но мне нужно то, что, по моему мнению, называется «вложенными объектами», и вместо этого я получаю то, что я считаю «вложенными массивами». Другими словами, некоторые дополнительные скобки. Я пытаюсь преобразовать фрейм данных в данные json, используя jsonlite в R. Воспроизводимый код и результаты ниже. Может кто-нибудь указать мне, как получить данные в правильном формате (строки как вложенные объекты)?
library(jsonlite)
testdat <- data.frame(locationColumn = c("US", "US"),
nameColumn = c("General Motors", "Walmart"),
zipColumn = c(19890, 72712) )
jsl <- jsonlite::toJSON(
list(
config = list(
item1 = list("country",
"city"),
item2 = "true",
item3 = "false",
item4 = 3
),
rows = split(testdat, 1:nrow(testdat))
),
auto_unbox = TRUE,
pretty = TRUE,
dataframe = "rows",
simplifyDataFrame = TRUE
)
jsl
Вывод:
{
"config": {
"item1": [
"country",
"city"
],
"item2": "true",
"item3": "false",
"item4": 3
},
"rows": {
"1": [
{
"locationColumn": "US",
"nameColumn": "General Motors",
"zipColumn": 19890
}
],
"2": [
{
"locationColumn": "US",
"nameColumn": "Walmart",
"zipColumn": 72712
}
]
}
}
Что мне нужно: (РЕДАКТИРОВАТЬ: Я добавилнемного больше сложности с JSON. Мне нужно держать скобки в «конфигурации», но не иметь скобки в «строках».
{
"config": {
"item1": [
"country",
"city"
],
"item2": "true",
"item3": "false",
"item4": 3
},
"rows": {
"1":
{
"locationColumn": "US",
"nameColumn": "General Motors",
"zipColumn": 19890
},
"2":
{
"locationColumn": "US",
"nameColumn": "Walmart",
"zipColumn": 72712
}
}
}