2014-11-12 2 views
0

Я пытаюсь преобразовать файл JSON в R. Формат данных выглядит следующим образом:Преобразование JSON файл объекта R в R

{ 
"id": "xyz", 
"root": { 
"author": { 
"name": "xyz", 
"email": "[email protected]", 
"date": "2014-10-08T00:10:30Z" 
}, 
"authorer": { 
"name": "xyz", 
"email": "[email protected]", 
"date": "2014-10-08T00:11:30Z" 
}, 
"message": "This a test json", 
"root": { 
"id": "xyz1", 
"url": "xyz" 
}, 
"url": "xyz", 
"message_count": 0 
}, 
"url": "xyz", 
"html_url": "xyz", 
"comments_url": "abc", 
"author": null, 
"authorer": null, 
"parent": [ 
{ 
"id": "xyz3", 
"url": "xyz", 
"html_url": "xyz" 
} 
] 
} 

После этого начинается аналогичная строка, с {имеющие одинаковую форматированный текст} Это код, который я написал в R

install.packages("rjson") 
library(rjson) 
df <- fromJSON(paste(readLines("file.json"), collapse="")) 
View(df) 

Мне было интересно, как сделать этот файл доступным для чтения в R? Я хотел бы видеть их в виде столбцов, как это:

id root/author/name root/author/email root/author/date root/authorer/name 

См здесь: http://konklone.io/json/?id=dfeae96a607c7541b8fe (как вход и выход должен выглядеть).

Я представил новую ссылку здесь для двух строк: http://konklone.io/json/?id=3b01a02e17ec4fde3357

Спасибо большого

+2

вы даете плохой отформатированный текст JSon и плохой ожидаемому вывод! что вы ожидаете от нас делать с этим? – agstudy

+0

Что вы подразумеваете под плохим форматом? Вот как я получил текст. (Я удалил некоторые из гиперссылок с вывода, вы хотите, чтобы это также вставить в текст, сообщите мне). Я ожидал, если кто-то работал над преобразованием вложенных json-структур в объекты R. – user3570187

+1

В вашем тестовом тексте json есть пять открытых скобок, но только 3 близких скобки. И что вы хотите с помощью экрана, автора и root? Должны ли они быть сплющены? –

ответ

0

Является ли это то, что вы хотите:

json <- '{ 
    "id": "xyz", 
    "root": { 
    "author": { 
     "name": "xyz", 
     "email": "[email protected]", 
     "date": "2014-10-08T00:10:30Z" 
    }, 
    "authorer": { 
     "name": "xyz", 
     "email": "[email protected]", 
     "date": "2014-10-08T00:11:30Z" 
    }, 
    "message": "This a test json", 
    "root": { 
     "id": "xyz1", 
     "url": "xyz" 
    }, 
    "url": "xyz", 
    "message_count": 0 
    }, 
    "url": "xyz", 
    "html_url": "xyz", 
    "comments_url": "abc", 
    "author": null, 
    "authorer": null, 
    "parent": [ 
    { 
     "id": "xyz3", 
     "url": "xyz", 
     "html_url": "xyz" 
    } 
    ] 
}' 

out <- jsonlite::fromJSON(json) 
out[vapply(out, is.null, logical(1))] <- "none" 
data.frame(out, stringsAsFactors = FALSE)[,1:5] 

    id root.author.name root.author.email  root.author.date root.authorer.name 
1 xyz    xyz  [email protected] 2014-10-08T00:10:30Z    xyz 
+0

Можете ли вы опубликовать полный код? Я получаю сообщение об ошибке «вне». – user3570187

+0

объект 'json' - это только ваш json выше, плохо редактируйте мой пост – sckott

+0

может в input json <- all.txt? Есть ли способ импортировать файл? – user3570187

Смежные вопросы