如何解决将 map[string]interface{} 保存到数据存储
我的程序读取了一个主要如下所示的 JSON 文件:
{
"a": "b","c": 123,"d": ["e","f"],"g": {"h": "i"}
}
此数据的结构是动态的,因此由于值类型不同,我使用 map[string]interface{}
读取它。
type Map map[string]interface{}
我需要将此 JSON 结构保存到数据存储区,但我不断收到此错误 datastore: invalid entity type
。我猜这是因为我的 Map
类型需要实现那个 PropertyLoadSaver
接口,所以我尝试了以下代码,它仍然返回相同的错误。
func (e Entity) Save(c chan<- datastore.Property) error {
defer close(c)
for k,v := range e {
value,err := json.Marshal(v)
if err != nil {
log.Fatal(err)
}
c <- datastore.Property{
Name: k,Value: value,}
}
return nil
}
func (m Entity) Load(c <-chan datastore.Property) error {
// I won't actually be loading the data in this program; just saving,so I think I can get away with this?
return nil
}
知道正确的方法是什么吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。