This repository was archived by the owner on Dec 15, 2025. It is now read-only.

Description
package main
import (
"encoding/json"
"github.com/json-iterator/go"
"log"
)
type T struct {
X int
}
type TT struct {
T *T
}
func main() {
data := []byte({"A":0})
var t *T
// return non-nil error
if err := json.Unmarshal(data, t); err != nil {
log.Println(err)
}
// return nil error
if err := jsoniter.Unmarshal(data, t); err != nil {
log.Println(err)
}
var tt *TT
// return non-nil error
if err := json.Unmarshal(data, tt.T); err != nil {
log.Println(err)
}
// panic
if err := jsoniter.Unmarshal(data, tt.T); err != nil {
log.Println(err)
}
}