typestar

JSON de ida y vuelta en Go

Marshal y Unmarshal, con etiquetas que deciden los nombres en el cable.

type Tour struct {
    Slug  string   `json:"slug"`
    Steps int      `json:"steps"`
    Sets  []string `json:"sets,omitempty"`
}

func roundTrip() (string, int, error) {
    original := Tour{Slug: "traits", Steps: 19, Sets: []string{"Traits"}}
    data, err := json.MarshalIndent(original, "", "  ")
    if err != nil {
        return "", 0, fmt.Errorf("marshal: %w", err)
    }

    var back Tour
    if err := json.Unmarshal(data, &back); err != nil {
        return "", 0, fmt.Errorf("unmarshal: %w", err)
    }
    return back.Slug, len(data), nil
}

Cómo funciona

  1. Solo los campos exportados se codifican.
  2. Haz Unmarshal hacia un puntero, y revisa el error.
  3. MarshalIndent es la forma legible.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
495
Tokens
128
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 77 segundos.

Escribe este fragmento

Paso 2 de 3 en Codificación; paso 2 de 26 en Biblioteca estándar y estructura del proyecto.

← Anterior Siguiente →