package tradeoffer import ( "encoding/json" "fmt" "github.com/Philipp15b/go-steam/economy/inventory" "regexp" ) type TradeReceiptItem struct { AssetId uint64 `json:"id,string"` AppId uint32 ContextId uint64 Owner uint64 `json:",string"` Pos uint32 inventory.Description } func parseTradeReceipt(data []byte) ([]*TradeReceiptItem, error) { reg := regexp.MustCompile("oItem =\\s+(.+?});") itemMatches := reg.FindAllSubmatch(data, -1) if itemMatches == nil { return nil, fmt.Errorf("items not found\n") } items := make([]*TradeReceiptItem, 0, len(itemMatches)) for _, m := range itemMatches { item := new(TradeReceiptItem) err := json.Unmarshal(m[1], &item) if err != nil { return nil, err } items = append(items, item) } return items, nil }