1. 首页
  2. 主题
  3. Go问与答

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

hellsam · · 4861 次点击
~~~ mapj1 := make(map[string]interface{}) mapj1["name"] = "名1" mapj1["config"] = `{"is_ok","yes"}` b1, _ := json.Marshal(mapj1) fmt.Println(string(b1)) 结果:{"config":"{\"is_ok\",\"yes\"}","name":"名1"} 我要实现效果: {"name":"名1","config":{"is_ok","yes"}} 请问我是哪里没有做对? ~~~
```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

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中