为了账号安全,请及时绑定邮箱和手机立即绑定

如何将转义的 json 转换为结构

如何将转义的 json 转换为结构

Go
茅侃侃 2022-09-12 20:36:57
我在将转义的 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]

}


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信