Skip to content

Instantly share code, notes, and snippets.

@maietta
Created February 27, 2024 03:08
Show Gist options
  • Save maietta/8d15dc9f7774326a79cfe13524c62e96 to your computer and use it in GitHub Desktop.
Save maietta/8d15dc9f7774326a79cfe13524c62e96 to your computer and use it in GitHub Desktop.
Sample Struct in Go used in unmarshalling XML data into JSON.
type Metadata struct {
ReplyCode string `json:"ReplyCode"`
ReplyText string `json:"ReplyText"`
MetadataSys struct {
Version string `json:"Version"`
Date string `json:"Date"`
System struct {
SystemID string `json:"SystemID"`
SystemDescription string `json:"SystemDescription"`
} `json:"System"`
Comments string `json:"Comments"`
} `json:"MetadataSys"`
MetadataRes []struct {
Version string `json:"Version"`
Date string `json:"Date"`
Columns []string `json:"Columns"`
Data []struct {
ClassCount string `json:"ClassCount"`
ClassDate string `json:"ClassDate"`
ClassVersion string `json:"ClassVersion"`
Description string `json:"Description"`
EditMaskDate string `json:"EditMaskDate"`
EditMaskVersion string `json:"EditMaskVersion"`
KeyField string `json:"KeyField"`
LookupDate string `json:"LookupDate"`
LookupVersion string `json:"LookupVersion"`
ObjectDate string `json:"ObjectDate"`
ObjectVersion string `json:"ObjectVersion"`
ResourceID string `json:"ResourceID"`
SearchHelpDate string `json:"SearchHelpDate"`
SearchHelpVersion string `json:"SearchHelpVersion"`
StandardName string `json:"StandardName"`
UpdateHelpDate string `json:"UpdateHelpDate"`
UpdateHelpVersion string `json:"UpdateHelpVersion"`
ValidationExpressionDate string `json:"ValidationExpressionDate"`
ValidationExpressionVersion string `json:"ValidationExpressionVersion"`
ValidationExternalVersion string `json:"ValidationExternalVersion"`
ValidationLookupDate string `json:"ValidationLookupDate"`
ValidationLookupVersion string `json:"ValidationLookupVersion"`
VisibleName string `json:"VisibleName"`
} `json:"Data"`
} `json:"MetadataRes"`
MetadataCls []struct {
Version string `json:"Version"`
Date string `json:"Date"`
Resource string `json:"Resource"`
Class string `json:"Class"`
Columns []string `json:"Columns"`
Data []struct {
ClassName string `json:"ClassName"`
Description string `json:"Description"`
StandardName string `json:"StandardName"`
TableDate string `json:"TableDate"`
TableVersion string `json:"TableVersion"`
UpdateDate string `json:"UpdateDate"`
UpdateVersion string `json:"UpdateVersion"`
VisibleName string `json:"VisibleName"`
} `json:"Data"`
} `json:"MetadataCls"`
MetadataTbl []struct {
Version string `json:"Version"`
Date string `json:"Date"`
Resource string `json:"Resource"`
Class string `json:"Class"`
Columns []string `json:"Columns"`
Data []struct {
Alignment string `json:"Alignment"`
DBName string `json:"DBName"`
DataType string `json:"DataType"`
Default string `json:"Default"`
EditMaskID string `json:"EditMaskID"`
Index string `json:"Index"`
Interpretation string `json:"Interpretation"`
LongName string `json:"LongName"`
LookupName string `json:"LookupName"`
MaxSelect string `json:"MaxSelect"`
Maximum string `json:"Maximum"`
MaximumLength string `json:"MaximumLength"`
Minimum string `json:"Minimum"`
Precision string `json:"Precision"`
Required string `json:"Required"`
SearchHelpID string `json:"SearchHelpID"`
Searchable string `json:"Searchable"`
ShortName string `json:"ShortName"`
StandardName string `json:"StandardName"`
SystemName string `json:"SystemName"`
Unique string `json:"Unique"`
Units string `json:"Units"`
UseSeparator string `json:"UseSeparator"`
} `json:"Data"`
} `json:"MetadataTbl"`
MetadataEditMask []struct {
Version string `json:"Version"`
Date string `json:"Date"`
Resource string `json:"Resource"`
Columns []string `json:"Columns"`
Data []struct {
EditMaskID string `json:"EditMaskID"`
Value string `json:"Value"`
} `json:"Data"`
} `json:"MetadataEditMask"`
MetadataLookup []struct {
Version string `json:"Version"`
Date string `json:"Date"`
Lookup string `json:"Lookup"`
Resource string `json:"Resource"`
Columns []string `json:"Columns"`
Data []struct {
Date string `json:"Date"`
LookupName string `json:"LookupName"`
Version string `json:"Version"`
VisibleName string `json:"VisibleName"`
} `json:"Data"`
} `json:"MetadataLookup"`
MetadataLookupType []struct {
Version string `json:"Version"`
Date string `json:"Date"`
Lookup string `json:"Lookup"`
Resource string `json:"Resource"`
Columns []string `json:"Columns"`
Data []struct {
LongValue string `json:"LongValue"`
ShortValue string `json:"ShortValue"`
Value string `json:"Value"`
} `json:"Data"`
} `json:"MetadataLookupType"`
MetadataForeignKeys []struct {
Version string `json:"Version"`
Date string `json:"Date"`
Columns []string `json:"Columns"`
Data []struct {
ChildClassID string `json:"ChildClassID"`
ChildResourceID string `json:"ChildResourceID"`
ChildSystemName string `json:"ChildSystemName"`
ForeignKeyID string `json:"ForeignKeyID"`
ParentClassID string `json:"ParentClassID"`
ParentResourceID string `json:"ParentResourceID"`
ParentSystemName string `json:"ParentSystemName"`
} `json:"Data"`
} `json:"MetadataForeignKeys"`
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment