我在将转义的 json 对象转换为结构时遇到问题。我面临的主要问题是源字段的转义 json。以下数据是其保存方式。{ "key": "123", "sources": "{\"1a\":\"source1a\",\"2b\":\"source2b\",\"3c\":\"source3c\",\"default\":\"sourcex\"}"}type config struct { Key string `json:"key" validate:"required"` Sources ???? `json:"sources" validate:"required"`}然后,我将有一个源值,并希望检查我的值是否在json中找到。如果我的值是“1a”,则返回“源1a”等。我也试图在单元测试中编写它。
1 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
有些人可能会做一个自定义的解封方法,但我认为只做两个传递更容易:
package main
import (
"encoding/json"
"fmt"
)
const s = `
{
"key": "123",
"sources": "{\"1a\":\"source1a\",\"2b\":\"source2b\",\"3c\":\"source3c\",\"default\":\"sourcex\"}"
}
`
func main() {
var t struct{Key, Sources string}
json.Unmarshal([]byte(s), &t)
m := make(map[string]string)
json.Unmarshal([]byte(t.Sources), &m)
fmt.Println(m) // map[1a:source1a 2b:source2b 3c:source3c default:sourcex]
}
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消