在r中编码JSON

问题描述 投票:5回答:1

如何在R中使用JSON包时更改编码?

for (pageNum in 0:20) {
  data <- fromJSON(paste0("https://api.hh.ru/vacancies?text=\"бухгалтер\"&page=", pageNum))
  vacanciesdf <- rbind(vacanciesdf, data.frame(
    data$items$area$name, 
    data$items$salary$currency, 
    data$items$salary$from, 
    data$items$employer$name,
    data$items$name,
    data$items$snippet$requirement))
  print(paste0("Upload pages:", pageNum + 1))
  Sys.sleep(3)
}

在英语中,在引入关键字时从API下载有效,但俄语中没有任何内容。我认为问题在于编码。但是如何安装UTF-8?

json r encoding
1个回答
4
投票

这些类型的问题难以重现,但在'fromJSON'经常解决问题之前,使用'content GET'来应用UTF-8编码。

您的问题中提供的URL会返回错误,因此此解决方案演示了主体,从您正在使用的API获取参数列表。

library(httr)
library(jsonlite)

URL <- "https://api.hh.ru/vacancies?describe_arguments=true"
text <- content(GET(URL)), as = "text", encoding = "UTF-8")
data <- fromJSON(text)

这将返回UTF-8编码的JSON。

© www.soinside.com 2019 - 2024. All rights reserved.