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

Archivos JSON en R

JSON: JavaScript Object Notation(Representación de Objetos de JavaScript).

JSON es una sintaxis para almacenar y intercambiar información de texto.

JSON es similar a XML, pero es más pequeño, más rápido y más fácil de analizar.

Si aún no estás familiarizado con JSON, puedes consultar primero:Tutorial JSON

Para instalar el paquete de extensión necesario para el lenguaje R para leer y escribir archivos JSON, podemos ingresar el siguiente comando en la consola de R:

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

Verificar si se instaló con éxito:

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

Crear el archivo sites.json, el archivo json debe estar en el mismo directorio que el script de prueba, el código es el siguiente:

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

A continuación, podemos usar el paquete rjson para cargar los datos del archivo json.

Ver los datos, una fila específica se especifica con [], y las filas y columnas específicas se especifican con [[ ]]

# Cargar el paquete rjson
library("rjson")
# Obtener datos json
result <- fromJSON(file = "sites.json")
# Imprimir el resultado
print(result)
print("===============")
# Imprimir el 1 resultados de la columna
print(result[1]]
print("===============")
# Imprimir el 2 fila 2 resultados de la columna
print(result[[2]]2]])

El resultado de ejecutar el código anterior es:

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

También podemos usar as.data.frame() La función puede convertir los datos del archivo json en tipo data frame, de esta manera podemos operar los datos más fácilmente:

# Cargar el paquete rjson
library("rjson")
# Obtener datos json
result <- fromJSON(file = "sites.json")
# Convertir a data frame
json_data_frame <- as.data.frame(result)
print(json_data_frame)

El resultado de ejecutar el código anterior es:

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