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