2013-02-27 3 views
2

У меня проблема с RJSONIO. У меня есть кадр данных как DFРазбор данных в JSON (через RJSONIO)

df <- data.frame(a = c(1:3), b = c(4:6), c = c(7:9)) 
df 
    a b c 
1 1 4 7 
2 2 5 8 
3 3 6 9 

Теперь то, что мне нужно, чтобы использовать этот кадр данных и генерировать строки в следующей структуре JSON. Таким образом, в конце концов, это будет выглядеть примерно так:

{ 
"job_id": "1", 
"page": "1", 
"rows": [ 
    { 
     "row": [ 
      "1", 
      "4", 
      "7" 
     ] 
    }, 
    { 
     "row": [ 
      "2", 
      "5", 
      "8" 
     ] 
    }, 
    { 
     "row": [ 
      "3", 
      "6", 
      "9" 
     ] 
    } 
] 

}

Я начал с этим куском кода, но есть проблема с кавычками внутри массива (окружающий фигурные скобки):

rows <- apply(df, 1, function(x) toJSON(list(row = x))) 
toJSON(list("job_id" = "1", "page" = "1", "rows" = paste(rows))) 

Спасибо за любой совет!

+0

Добро пожаловать в StackOverflow! Не могли бы вы показать код, который вы пробовали? Это может помочь ответчикам с их решениями. –

ответ

3

Здесь вы создаете свой формат JSON.

list(job_id = "1", 
    page = "1", 
    rows = lapply(seq(nrow(df)), function(x) list(row=as.character(df[x,])))) 


cat(toJSON(ll)) 
{"job_id": "1", 
"page": "1", 
"rows": [ 
    { 
    "row": [ "1", "4", "7" ] 
    }, 
    { 
    "row": [ "2", "5", "8" ] 
    }, 
    { 
    "row": [ "3", "6", "9" ] 
    } 
] 
} 
Смежные вопросы