{ // object: ?[]const u8,//string // id: ?[]const u8,//string // oracle_id: ?[]const u8,//string // multiverse_ids: ?[]u32,//array of int // mtgo_id: ?u32,//int // mtgo_foil_id: ?u32,//int // tcgplayer_id: ?u32,//int // cardmarket_id: ?u32,//int name: ?[]const u8,//string // lang: ?[]const u8,//string // released_at: ?[]const u8,//string // uri: ?[]const u8,//string // scryfall_uri: ?[]const u8,//string // layout: ?[]const u8,//string // highres_image: ?bool,//bool // image_status: ?[]const u8,//string // image_uris: ?ImgList,//obj (strings) mana_cost: ?[]const u8 = "",//string cmc: ?f32,//technically a float? but I think we can always cast safely EDIT: NOPE type_line: ?[]const u8,//string oracle_text: ?[]const u8 = "",//string // colors: json.Value,//?[]const u8,//array of Chars color_identity: json.Value,//?[]const u8,//array of Chars keywords: ?[][]const u8,//array of Strings // legalities: ?Legalities,//obj (strings) // games: ?[][]const u8,//array of Strings // reserved: ?bool,//bool // foil: ?bool,//bool // nonfoil: ?bool,//bool // finishes: ?[][]const u8,//array of Strings // oversized: ?bool,//bool // promo: ?bool,//bool // reprint: ?bool,//bool // variation: ?bool,//bool // set_id: ?[]const u8,//string // set: ?[]const u8,//string // set_name: ?[]const u8,//string // set_type: ?[]const u8,//string // set_uri: ?[]const u8,//string // set_search_uri: ?[]const u8,//string // scryfall_set_uri: ?[]const u8,//string // rulings_uri: ?[]const u8,//string // prints_search_uri: ?[]const u8,//string // collector_number: ?[]const u8,//string // digital: ?bool,//bool // rarity: ?[]const u8,//string // flavor_text: ?[]const u8,//string // card_back_id: ?[]const u8,//string // artist: ?[]const u8,//string // artist_ids: ?[][]const u8,//string // illustration_id: ?[]const u8,//string // border_color: ?[]const u8,//string // frame: ?[]const u8,//string // full_art: ?bool,//bool // textless: ?bool,//bool // booster: ?bool,//bool // story_spotlight: ?bool,//bool // edhrec_rank: ?u32,//int // prices: ?Prices,//obj (floats stored as strings) // related_uris: json.Value,//?RelatedUris,//obj (strings) // purchase_uris: json.Value,//?PurchaseUris,//obj (strings) } const PurchaseUris = struct { tcgplayer: ?[]const u8,//string cardmarket: ?[]const u8,//string cardhoarder: ?[]const u8,//string }; const Prices = struct { usd: ?[]const u8,//string? but technically a float usd_foil: ?[]const u8,//same usd_etched: ?[]const u8,//same eur: ?[]const u8,//same eur_foil: ?[]const u8,//same tix: ?[]const u8,//same }; const RelatedUris = struct { gatherer: ?[]const u8,//string tcgplayer_infinite_articles: ?[]const u8,//string tcgplayer_infinite_decks: ?[]const u8,//string edhrec: ?[]const u8,//string }; const Legalities = struct { standard: ?[]const u8,//string future: ?[]const u8,//string historic: ?[]const u8,//string timeless: ?[]const u8,//string gladiator: ?[]const u8,//string pioneer: ?[]const u8,//string explorer: ?[]const u8,//string modern: ?[]const u8,//string legacy: ?[]const u8,//string pauper: ?[]const u8,//string vintage: ?[]const u8,//string penny: ?[]const u8,//string commander: ?[]const u8,//string oathbreaker:?[]const u8,//string standardbrawl:?[]const u8,//string brawl: ?[]const u8,//string alchemy: ?[]const u8,//string paupercommander:?[]const u8,//string duel: ?[]const u8,//string oldschool: ?[]const u8,//string premodern: ?[]const u8,//string predh: ?[]const u8,//string }; const ImgList = struct { small: ?[]const u8,//string normal: ?[]const u8,//string large: ?[]const u8,//string png: ?[]const u8,//string art_crop: ?[]const u8,//string border_crop: ?[]const u8,//string };