问个 json.Marshal 转换JSON被转义反斜杠等,普通字符串

hellsam · · 4185 次点击
```golang //第一种方式 mapj1 := make(map[string]interface{}) mapj1["name"] = "名1" mapj1["config"] = json.RawMessage(`{"is_ok":"yes"}`) //将上面的,换成:这才是json体 b1, _ := json.Marshal(mapj1) fmt.Println(string(b1)) //第二种方式 //创建一个结构体 type Config struct { Ok string `json:"is_ok"` } func main() { mapj1 := make(map[string]interface{}) mapj1["name"] = "名1" //mapj1["config"] = json.RawMessage(`{"is_ok":"yes"}`) mapj1["connfig"] = Config{Ok: "yes"} b1, _ := json.Marshal(mapj1) fmt.Println(string(b1)) } ```
#9
更多评论
~~~ 看map未转换前好像数据没问题; map[id:17 name:testing config:{"is_ok":"yes"}] 好像感觉 json.Marshal是这个函数方法会帮以上自动转换为 字符串 并且+ 反斜杠等 ~~~
#1
jan-bar
想要拥有,必定付出。
改成下面这种形式吧,你可以研究`json.Marshal`原理 ```go mapj1["config"] = json.RawMessage(`{"is_ok","yes"}`) ```
#2