2016-09-06 2 views
0

Я правильно отформатировал JSON, извлеченный через стандартный API.конвертировать json в datatable с помощью rjsonio

API В принципе возвращает массив объектов JSON каждый раз, когда я извлекаю данные.

примерно так:

[ 
{}, 
{}, 
{} 
] 

Я использовал редактор JSON, чтобы проверить структуру данных JSON и выглядит отлично. мне нужно, чтобы преобразовать его в формат CSV так попытался это:

freshDeskRaw <- fromJSON(freshDeskTickets) 
tmp <- lapply(freshDeskRaw , function(u) 
    lapply(u, function(x) if(is.null(x)) NA else x) 
) 
tmp <- lapply(tmp, as.data.frame) 
tmp <- do.call(rbind, tmp) 

В

tmp <- lapply(tmp, as.data.frame) 

, я получаю сообщение об ошибке:

tmp <- lapply(tmp, as.data.frame) Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : arguments imply differing number of rows: 0, 1

, как это исправить? что выглядит не так? Я попытался использовать

as.data.frame(tmp) также, но все же получить ту же ошибку.

ответ

0

Проблема может быть, что JSON выше производит пустые списки и

is.null(list()) 
# [1] FALSE 

Try

is.null(x) || (is.list(x) && length(x) == 0)