这是一个非常奇怪的情况,但我需要将字符串化的 json 转换为可以解组的有效内容:"{\"hello\": \"hi\"}"我希望能够将其解组为这样的结构:type mystruct struct {
Hello string `json:"hello,string"`
}我通常知道解组需要字节,但我试图将我目前得到的东西转换成结构化的东西。有什么建议么?
1 回答

斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
问题是该encoding/json包接受格式正确的 JSON,在这种情况下,您已经转义了引号的初始 JSON,首先您必须取消转义它们,一种方法是使用function strconv.Unquote,这是一个示例片段:
package main
import (
"encoding/json"
"fmt"
"strconv"
)
type mystruct struct {
Hello string `json:"hello,omitempty"`
}
func main() {
var rawJSON []byte = []byte(`"{\"hello\": \"hi\"}"`)
s, _ := strconv.Unquote(string(rawJSON))
var val mystruct
if err := json.Unmarshal([]byte(s), &val); err != nil {
// handle error
}
fmt.Println(s)
fmt.Println(err)
fmt.Println(val.Hello)
}
- 1 回答
- 0 关注
- 356 浏览
添加回答
举报
0/150
提交
取消