gogo-echo

extract JSON from golang's echo request


I'm using Echo to build a minimalist server in Golang.

In, Echo one can bind an incoming JSON request payload to a struct internally and access the payload.

However I have a scenario wherein I know only 3 fields of the incoming JSON request payload, and the bind doesn't work in this case.

How do I still access the 3 fields that I care about ? If I cannot do this in Echo, can you recommend me a JSON decoder that works with Echo's context structure?


Solution

  • This is how I did it:

    json_map := make(map[string]interface{})
    err := json.NewDecoder(c.Request().Body).Decode(&json_map)
    if err != nil {
        return err
    } else {
        //json_map has the JSON Payload decoded into a map
        cb_type := json_map["type"]
        challenge := json_map["challenge"]