Есть ли метод GET [R] (httr pkg) для получения красивого макета печати для .json? - PullRequest
0 голосов
/ 30 января 2019

Я успешно извлек несколько файлов .json с сайта (внутренняя компания).Чтобы получить в формате .json, я должен указать с помощью URL-вызова (например, «renderasJSON = TRUE»).Как я уже сказал, цикл работает нормально и загружает каждый отдельный файл (~ 500).Тем не менее, файлы пишутся в виде сырой JSON вице-печати.Это вызывает проблемы, так как любой из связанных с j-пакетом R-пакетов (rjsonlite, RIOJSON и т. Д.) Не может успешно вызвать 'fromJSON' для этих файлов, в частности, выдает ту же ошибку (недопустимый байт символа ------- ^ прямо здесь),Мне удалось обойти это, по-разному отображая страницу с помощью запроса GET, но мне интересно, есть ли способ выполнить мой оригинальный метод GET и сохранить файлы .json в правильном формате.

Iпопробовал комбинацию предложений без успеха .. опубликует последний код в разделе "Показать код":

Попытки ... [здесь] Ошибка синтаксического анализа JSON, недопустимый символ )

[здесь] чтение файла json в R: лексическая ошибка: недопустимый символ в тексте json

[здесь] Форматирование файла JSON в R: лексическая ошибка скодировка символов

[здесь] R: Обработка ответа об ошибке в формате JSON

Я также пытался использовать другие предложения сообщества, такие как ... x <-fromJSON (toJSON (// без успеха. </p>

dir.create('JSON')

links<-as.list(df$urls)

for(i in links){
  try(GET
      (url=I,
       write_disk(file.path('JSON',basename(I))),
       progress()
  ))
  Sys.sleep(5)
}

#the above successfully pulls all files. I run a simple file.rename to    
#append '.json' to the end of the files as they are pulled without a file  
#extension. 

#Attempt to run 'fromJSON' fails

library(jsonlite)
out <- lapply(files, function(fn) {
o <- fromJSON(file(fn), flatten = TRUE)
as.data.frame(o)$element$subdata$data
})

> lexical error: invalid bytes in UTF8 string.
...