How to Handle Dynamic or Unknown JSON in Go

Use map[string]any or json.RawMessage to parse JSON with unknown or changing structures in Go.

Use json.RawMessage or map[string]any to handle dynamic JSON structures without defining a fixed struct.

import "encoding/json"

data := map[string]any{}
if err := json.Unmarshal([]byte(jsonStr), &data); err != nil {
    // handle error
}
// Access dynamic fields safely
if val, ok := data["key"].(string); ok {
    // use val
}