Ошибка синтаксического анализа JSON (с использованием jsonlite) в R

У меня есть следующий файл JSON:

{"id":1140854908,"name":"'Amran"} 
{"id":1140852651,"name":"'Asir"} 
{"id":1140855190,"name":"'Eua"} 
{"id":1140851307,"name":"A Coruna"} 
{"id":1140854170,"name":"A`Ana"}

Я использовал пакет jsonlite, но получаю ошибку синтаксического анализа

library(jsonlite) 
try <- fromJSON("states.txt",simplifyDataFrame = T)
# Error in feed_push_parser(readBin(con, raw(), n), reset = TRUE) :   
# parse error: trailing garbage
#           :1140854908,"name":"'Amran"} {"id":1140852651,"name":"'Asir"
#                      (right here) ------^

person user3006691    schedule 08.02.2016    source источник


Ответы (2)


Попробуйте изменить файл данных ниже

[
{"id":1140854908,"name":"'Amran"} 
,{"id":1140852651,"name":"'Asir"} 
,{"id":1140855190,"name":"'Eua"} 
,{"id":1140851307,"name":"A Coruna"} 
,{"id":1140854170,"name":"A`Ana"}
]

У меня сработал тот же код. Он ищет массив..

person vmachan    schedule 08.02.2016
comment
Это решение решило одну и ту же проблему для меня в двух совершенно разных случаях, сначала с данными Twitter JSON, а затем с данными Reddit JSON. - person timothyjgraham; 28.04.2017
comment
Хотя этот ответ был принят как правильный, я не думаю, что этот ответ в целом решит проблему. В большинстве случаев пользователь не сможет вручную изменить файл json. - person Tea Tree; 01.10.2020

Ваш файл представляет собой JSON с разделителями новой строки (http://ndjson.org/). Вы можете прочитать это с помощью jsonlite следующим образом:

try <- stream_in(file("states.txt"))
person Melkor.cz    schedule 23.03.2018