Hi everyone. I am unable to parse time values from JSON when I deploy to 
app engine standard environment. I'm using the Go 1.14 runtime. The time 
values are sent in ISO-8601 (or RFC 3339) format. It works in every other 
environment except on app engine.
Does the app engine standard environment use a customized Go compiler? I 
suspect that they replace the encoding/json package for optimization 
purposes, but their version has a bug.
I've tested my program on both go113 and go114. If I send a time value like 
"2018-09-22T12:42:31Z" in JSON, I get the following error.

"invalid character 'T' looking for beginning of value"

If I remove the "T" as in "2018-09-22 12:42:31Z", I get the following error.

"parsing time \"\"2021-01-01 00:00:00.000Z\"\" as 
\"\"2006-01-02T15:04:05Z07:00\"\": cannot parse \" 00:00:00.000Z\"\" as 
\"T\""

Clearly it expects the "T", but it chokes on it. Sending only the date part 
doesn't work either.
I am certain that the framework I'm using (Buffalo) does not bring its own 
JSON parser. It uses the standard library, as I can tell from this snippet 
(copied below for your perusal) 
<https://github.com/gobuffalo/buffalo/blob/0fc3b9f0157846614f3bd93e282094d61daf4ed8/binding/json_content_type_binder.go#L12>
:

// BinderFunc returns the Binder for this JSONRequestTypeBinder 
func (js JSONContentTypeBinder) BinderFunc() Binder { 
     return func(req *http.Request, value interface{}) error { 
         return json.NewDecoder(req.Body).Decode(value) 
    } 
} 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/c1913adf-1fb2-4e0a-b17e-de6e8318327en%40googlegroups.com.
  • [google-appengine... Barisere Jonathan

Reply via email to