Archivo JSON en R

JSON: JavaScript Object Notation (Notación de objetos de JavaScript).

JSON es una sintaxis para almacenar e 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 que XML.

Si aún no conoces JSON, puedes consultar:Tutorial de JSON

El lenguaje R necesita instalar paquetes de extensión para leer y escribir archivos JSON. Podemos instalarlos ingresando el siguiente comando en la consola de R:

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

Verificar si la instalación fue exitosa:

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

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

Ejemplo

{ "id":["1","2","3"], "name":["Google","Ejemplo","Taobao"], "url":["www.google.com","www.example.com","www.taobao.com"], "likes":[ 111,222,333] }
A continuación, podemos usar el paquete rjson para cargar los datos del archivo json.

Para ver los datos, use una fila determinada[ ], para la fila y columna especificadas use[[ ]]:

Ejemplo

# Cargar el paquete rjson
library("rjson")

# Obtener los datos json
result <- fromJSON(file = "sites.json")

# Mostrar el resultado
print(result)

print("===============")

# Mostrar el resultado de la columna 1
print(result[1])

print("===============")
# Mostrar el resultado de la fila 2, columna 2
print(result[[2]][[2]])

Al ejecutar el código anterior, el resultado es:

$id
[1] "1" "2" "3"

$name
[1] "Google" "Ejemplo" "Taobao"

$url
[1] "www.google.com" "www.example.com" "www.taobao.com"

$likes
[1] 111 222 333

[1] "==============="
$id
[1] "1" "2" "3"

[1] "==============="
[1] "Ejemplo"

También podemos usaras.data.frame()La función puede convertir los datos del archivo json a un tipo de marco de datos, lo que nos facilita operar con los datos:

Ejemplo

# Cargar el paquete rjson
library("rjson")

# Obtener los datos json
result <- fromJSON(file = "sites.json")

# Convertir a data frame
json_data_frame <- as.data.frame(result)

print(json_data_frame)

Al ejecutar el código anterior, el resultado es:

  id   name            url likes
1  1 Google www.google.com   111
2  2 Ejemplo www.example.com   222
3  3 Taobao www.taobao.com   333
Otras extensiones