15 March 2023

JSON prettify con GoLang

Como agregar identado a un string en json

Miguel Angel Acevedo
Miguel Angel Acevedo @faultydev

Como agregar identado a un string en json sin tener un struct para hacer un unmarshall.

Se puede alterar el string directamente sin un struct:

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "log"
)

func PrettyJSON(str string) (string, error) {
    var prettyJSON bytes.Buffer
    if err := json.Indent(&prettyJSON, []byte(str), "", "    "); err != nil {
        return "", err
    }
    return prettyJSON.String(), nil
}

func main() {
    rawJSON := `{"name": "Mike", "lastname": "Tyson"}`
    response, err := PrettyJSON(rawJSON)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(response)
}

Resultado:

{
  "name": "Mike",
  "lastname": "Tyson"
}

Categories

Go JSON