go-wiki/vendor/github.com/stripe/stripe-go/application.go
2020-03-20 00:19:27 +01:00

28 lines
636 B
Go

package stripe
import "encoding/json"
// Application describes the properties for an Application.
type Application struct {
ID string `json:"id"`
Name string `json:"name"`
}
// UnmarshalJSON handles deserialization of an Application.
// This custom unmarshaling is needed because the resulting
// property may be an id or the full struct if it was expanded.
func (a *Application) UnmarshalJSON(data []byte) error {
if id, ok := ParseID(data); ok {
a.ID = id
return nil
}
type application Application
var v application
if err := json.Unmarshal(data, &v); err != nil {
return err
}
*a = Application(v)
return nil
}