Skip to content
jsonforge.app
Volver al blog
Tutorial15 min de lectura

Ejemplos de JSON en 7 lenguajes: JavaScript, Python, Go, Rust, PHP, Java, C#

JSON es universal, pero cada lenguaje lo gestiona de forma distinta. Esta es una referencia comparativa para analizar, serializar y gestionar errores en siete lenguajes populares.

JavaScript

JavaScript es el hogar nativo de JSON. Analiza con JSON.parse, serializa con JSON.stringify y envuelve siempre el análisis en un try/catch.

// Parse a JSON string into an object
const data = JSON.parse('{"name": "Alice", "age": 30}');
console.log(data.name); // "Alice"

// Serialize an object back to JSON
const json = JSON.stringify(data, null, 2);

// Fetch JSON from an API
const res = await fetch("/api/users/1");
const user = await res.json(); // parsed automatically

Python

El módulo json integrado de Python mapea los objetos JSON a dicts y los arrays a listas. Usa json.loads (cadena → objeto) y json.dumps (objeto → cadena).

import json

# Parse JSON string into a dict
data = json.loads('{"name": "Alice", "age": 30}')

# Serialize a dict to a pretty JSON string
text = json.dumps(data, indent=2, ensure_ascii=False)

# Read/write a JSON file
with open("data.json", encoding="utf-8") as f:
    data = json.load(f)

Go

El paquete encoding/json de Go mapea JSON a structs mediante etiquetas. Usa json.Marshal para serializar y json.Unmarshal para analizar, con etiquetas de struct que controlan los nombres de los campos.

type User struct {
    Name string   `json:"name"`
    Age  int      `json:"age"`
}

// Struct → JSON
b, _ := json.Marshal(User{Name: "Alice", Age: 30})

// JSON → struct
var u User
_ = json.Unmarshal([]byte(`{"name":"Bob","age":25}`), &u)

Rust, PHP, Java, C#

Rust usa los crates serde y serde_json para (de)serialización de coste cero y con seguridad de tipos. PHP tiene json_encode/json_decode nativo sin dependencias. Java normalmente usa el ObjectMapper de Jackson. El C# moderno usa System.Text.Json.

<?php
// PHP array → JSON
$json = json_encode(["name" => "Alice", "age" => 30],
    JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

// JSON → PHP array
$data = json_decode($json, true);
if (json_last_error() !== JSON_ERROR_NONE) {
    echo "JSON error: " . json_last_error_msg();
}

Buenas prácticas universales

Gestiona siempre los errores de análisis: el JSON mal formado hará que el código sin protección falle. Para las APIs en producción, valida contra un JSON Schema antes de procesar. Prefiere structs/clases tipadas en lugar de mapas genéricos en los lenguajes compilados. Usa pretty-print durante el desarrollo y minifica en producción.

FAQ

¿Qué lenguaje tiene el parser de JSON más rápido?
Los lenguajes compilados (Go, Rust, Java con Jackson, C# con System.Text.Json) generalmente superan a los interpretados. Para la mayoría de las aplicaciones, la diferencia es insignificante en comparación con los costes de red y de base de datos.
¿Debo usar un struct tipado o un mapa genérico?
Los structs/clases tipadas detectan las discrepancias de esquema en tiempo de compilación y te dan autocompletado. Usa mapas genéricos solo cuando la forma sea realmente dinámica o desconocida.

Artículos relacionados