English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R JSON 文件

JSON: JavaScript Object Notation (JavaScript Object Notation).

JSON è un linguaggio di sintassi per memorizzare e scambiare informazioni testuali.

JSON è simile a XML, ma è più piccolo, più veloce e più facile da解析.

Se non conosci ancora JSON, puoi consultare prima:Guida JSON

Per leggere e scrivere file JSON in R è necessario installare l'estensione del pacchetto, possiamo digitare il seguente comando nel terminale R per installarlo:

install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")

Controlla se l'installazione è avvenuta con successo:

> any(grepl("rjson", installed.packages()))
[1] TRUE

Crea il file sites.json, il file json è nello stesso percorso del script di test, il codice è il seguente:

{ 
   "id":["1","2","3"],
   "name":["Google","w3codebox","Taobao"],
   "url":["www.google.com","it.oldtoolbag.com","www.taobao.com"],
   "likes":[111,222,333]
}

Poi possiamo utilizzare il pacchetto rjson per caricare i dati dal file json.

Controlla i dati, utilizza [ ] per una riga specifica, e [[ ]] per riga e colonna specifiche:

# 载入 rjson 包
library("rjson")
# 获取 json 数据
result <- fromJSON(file = "sites.json")
# 输出结果
print(result)
print("===============")
# 输出第 1 列的结果
print(result[1])
print("===============")
# 输出第 2 行第 2 列的结果
print(result[[2]][[2]])

执行以上代码输出结果为:

$id
[1] "1" "2" "3"
$name
[1] "Google" "w3codebox" "Taobao"
$url
[1] "www.google.com" "it.oldtoolbag.com" "www.taobao.com"
$likes
[1] 111 222 333
[1] "==============="
$id
[1] "1" "2" "3"
[1] "==============="
[1] "w3codebox"

我们也可以使用 as.data.frame() 函数将 json 文件数据可以转为数据框类型,这样我们就更方便对数据进行操作:

# 载入 rjson 包
library("rjson")
# 获取 json 数据
result <- fromJSON(file = "sites.json")
# 转为数据框
json_data_frame <- as.data.frame(result)
print(json_data_frame)

执行以上代码输出结果为:

  id  name          url likes
1  1 Google www.google.com   111
2  2 w3codebox it.oldtoolbag.com   222
3  3 Taobao www.taobao.com   333