我一直在尝试使用 Go 构建一些简单的后端 REST API,使用 Google App Engine 及其数据存储和前端的 AngularJS。除了编辑之外,我能够让一切正常工作。而且我不确定为什么 JSON 没有正确解组。结构:type Article struct { Key int64 `json:"Key" datastore:"-"` Title string Text string `datastore:",noindex"` Author string Tags string Posted time.Time}加载文章时,我使用数据存储中的 id 值填充 Key 属性。示例:5593215650496512我将该字段保留在表单上的隐藏输入中,并通过 HTTP Post 将表单内容作为 JSON 提交到 Go 后端。在提交之前,我可以看到 Key 拥有正确的值。这是表格: <form name="articleForm" ng-submit="saveArticle(article)"> <fieldset> <input type="hidden" name="key" ng-value="article.Key" /> <div class="form-group"> <input class="form-control" ng-model="article.Title" placeholder="Title" name="title" type="text" required autofocus /> <div class="alert alert-danger" ng-show="articleForm.Title.$invalid && articleForm.Title.$dirty"> <ul> <li ng-show="articleForm.title.$error.required">this field is required</li> </ul> </div> </div>
1 回答
达令说
TA贡献1821条经验 获得超6个赞
当您解组到您的文章时,您忽略了错误。您应该看到json: cannot unmarshal string into Go value of type int64,因为Key正文中的值被格式化为字符串。
如果这是您所期望的,那么您可以通过将string选项添加到标签来告诉 json 包使用它:
type Article struct {
Key int64 `json:"Key,string" datastore:"-"`
Title string
Text string `datastore:",noindex"`
Author string
Tags string
Posted time.Time
}
- 1 回答
- 0 关注
- 171 浏览
添加回答
举报
0/150
提交
取消