package config import ( "encoding/json" "errors" ) type State string var States = map[State]string{ "AL": "99654", "AR": "72401", "AZ": "85364", "CA": "90011", "CO": "80013", "CT": "06902", "DE": "19720", "FL": "33024", "GA": "30043", "HI": "96706", "IA": "50613", "ID": "83646", "IL": "60629", "IN": "47906", "KS": "66062", "KY": "40475", "LA": "70726", "MA": "02301", "MD": "20906", "ME": "04401", "MI": "48197", "MN": "55106", "MO": "63376", "MS": "39503", "MT": "59901", "NC": "27006", "ND": "58103", "NE": "68516", "NH": "03103", "NJ": "08701", "NM": "87121", "NV": "89108", "NY": "11368", "OH": "45011", "OK": "73099", "OR": "97006", "PA": "19120", "RI": "02860", "SC": "29483", "SD": "57106", "TN": "37013", "TX": "77449", "UT": "84058", "VA": "22193", "VT": "05401", "WA": "99301", "WI": "53215", "WV": "26554", "WY": "82001", } func (state *State) UnmarshalJSON(b []byte) error { var s string if err := json.Unmarshal(b, &s); err != nil { return err } for k := range States { if string(k) == s { *state = k return nil } } return errors.New("unknown state " + s) }