结构到JSON序列化

时间:2018-04-28 12:00:54

标签: go

我正在尝试创建json序列化输入数据,但不确定如何添加反斜杠()字符。下面的代码可以将struct转换为json但不是我需要的方式

输出:{" new":{" Id":" 1"," Class":" 23&#34 ;}} 预期:{\" new \":{\" Id \":\" 1 \",\" Class \&#34 ;:\" 23 \"}}

package main

import (
    "encoding/json"
    "fmt"
)

type Txn struct {
    Id    string `json:"Id"`
    Class string `json:"Class"`
}

type Send struct {
 New Txn `json:"new"`
}

func main() {
    fmt.Println("Creating serialized json")

    t := Txn{}
    t.Id = "1"
    t.Class = "23"

    fmt.Println(t)

    p := Send{}
    p.New = t

    fmt.Println("my p is", p)

    b, err := json.Marshal(p)
    if err != nil {
        fmt.Println("found some error ", err)
    }

    fmt.Println(string(b))
}

1 个答案:

答案 0 :(得分:0)

将最后一行更改为fmt.Printf("%q", string(b)) - 这会导致格式为'转义字符串'。

(或者如果你想存储转义字符串,```fmt.Sprintf``)

https://play.golang.org/p/uBq3mnys5gE