I am passing in events into a AWS lambda function from a events.json
file and parsing it in a function handler.
The code is:
type MyEvent struct {
Param string `json:"param1"`
Token string `json:"token"`
}
func main() {
lambda.Start(Handler)
}
func Handler(ctx context.Context, evt json.RawMessage) (events.APIGatewayProxyResponse, error) {
var myEvent MyEvent
json.Unmarshal(evt, &myEvent)
fmt.Println(myEvent.Token)
fmt.Println(len(myEvent.Token))
// rest of the code is here
}
The event.json
file is:
{
"param1": "Param",
"token": "35c760f4-b3dc-4657-b4f3–2c6566d4f42e"
}
The output of the function is
35c760f4-b3dc-4657-b4f3–2c6566d4f42e
38
The value of the token that is being printed is correct but the length is not. The length of the token is 36 but is being interpreted/printed as 38.
Why is this happening ?
PS: I am using the AWS SAM cli to run the program.