假设我有一个应用程序接收两种不同格式的 json 数据。f1 = `{"pointtype":"type1", "data":{"col1":"val1", "col2":"val2"}}`f2 = `{"pointtype":"type2", "data":{"col3":"val3", "col3":"val3"}}`我有一个与每种类型相关的结构:type F1 struct { col1 string col2 string}type F2 struct { col3 string col4 string}假设我使用encoding/json库将原始 json 数据转换为结构体: type Point { pointtype string data json.RawMessage }如何仅通过知道点类型将数据解码为适当的结构?我正在尝试以下方面的内容:func getType(pointType string) interface{} { switch pointType { case "f1": var p F1 return &p case "f2": var p F2 return &p } return nil}这是行不通的,因为返回的值是一个接口,而不是正确的结构类型。我怎样才能使这种开关结构选择工作?
2 回答
- 2 回答
- 0 关注
- 206 浏览
添加回答
举报
0/150
提交
取消