Ger*_*ens 1 javascript google-app-engine go google-cloud-endpoints
当我在js中定义这样的时间时
{expiry:new Date()}
Run Code Online (Sandbox Code Playgroud)
并像这样在go端点中创建一个struct
{Expiry time.Time `json:"expiry"`}
Run Code Online (Sandbox Code Playgroud)
我得到一个解析错误
"parsing time \"\"2006-01-02T15:04:05Z07:00\"\" as \"\"2006-01-02T15:04:05Z07:00\"\": cannot parse \"07:00\"\" as \"\"\""
Run Code Online (Sandbox Code Playgroud)
有什么建议?
time.UnmarshalJSON的文档说明:
UnmarshalJSON实现了json.Unmarshaler接口.预计时间是RFC 3339格式的带引号的字符串.
存在一个问题,即所有浏览器不一定将DateTime对象编码为RFC3339格式.但是,您的错误消息似乎并不意味着这一点.您似乎尝试编码以下JSON字符串:
"2006-01-02T15:04:05Z07:00"
Run Code Online (Sandbox Code Playgroud)
这不是时间戳,而是time包的参考布局.请参阅此Playground示例,其中显示了Go期望时间戳如何:http://play.golang.org/p/4NQ1pRidPt
但是,浏览器不一致仍存在问题.为避免这种情况,您可以使用函数或库,如@elithrar建议:
var a = {expiry: moment(new Date()).format("YYYY-MM-DDTHH:mm:ssZ")};
console.log(a);
Run Code Online (Sandbox Code Playgroud)
输出:
{"expiry": "2014-01-08T08:54:44+01:00"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |