1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-07 00:17:13 +00:00
kyverno/pkg/utils/api/json.go

27 lines
435 B
Go
Raw Normal View History

package api
import (
"encoding/json"
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
)
// Deserialize "apiextensions.JSON" to a typed array
func DeserializeJSONArray[T any](j apiextensions.JSON) ([]T, error) {
if j == nil {
return nil, nil
}
data, err := json.Marshal(j)
if err != nil {
return nil, err
}
var res []T
if err := json.Unmarshal(data, &res); err != nil {
return nil, err
}
return res, nil
}