mirror of
https://github.com/rjNemo/go-wiki
synced 2026-06-06 02:36:40 +00:00
28 lines
636 B
Go
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
|
|
}
|