【发布时间】:2019-08-02 20:08:25
【问题描述】:
这是原始的json 数据:
json_file <- '{"name":"Doe, John","group":"Red","age":{"v_0":24}}
{"name":"Doe, Jane","group":"Green","age":{"v_0":31}}
{"name":"Smith, Joan","group":"Yellow","age":{"v_0":22}}'
当我想将json_file 转换为数据框时:
library(RJSONIO)
json_file <- fromJSON(json_file)
我收到此错误:
Error: parse error: trailing garbage
:"Red","age":{"v_0":24}} {"name":"Doe, Jane","group":"Gr
(right here) ------^
我知道如果我将原始数据更改为以下数据,一切都会好起来的:
json_file <- '[{"name":"Doe, John","group":"Red","age":{"v_0":24}},
{"name":"Doe, Jane","group":"Green","age":{"v_0":31}},
{"name":"Smith, Joan","group":"Yellow","age":{"v_0":22}}]'
但其实我很想知道:
1) 如何在不使用[、, 和] 拆分对象的情况下从原始数据中获取数据帧?
2) 如果没有办法,如何拆分大json文件中的对象,方法是在除最后一行之外的每一行末尾添加,,并在第一行添加[和]以及文件的最后一行?
【问题讨论】:
-
使用
stream_in()。见:github.com/jeroen/jsonlite/issues/59