gpt4 book ai didi

json - 相当于Python的json.dumps和json.loads

转载 作者:行者123 更新时间:2023-12-01 22:13:46 25 4
gpt4 key购买 nike

这是一个非常奇怪的情况,但是我需要将一个字符串化的json转换为我可以解码的有效内容:

"{\"hello\": \"hi\"}"

我希望能够将其解编成这样的结构:
type mystruct struct {
Hello string `json:"hello,string"`
}

我知道通常unmarshall占用字节,但是我试图将当前获取的内容转换为结构化的内容。
有什么建议?

最佳答案

问题在于encoding/json包接受格式正确的JSON,在这种情况下,您已经对引号进行了转义的初始JSON,首先必须取消转义引号,一种方法是使用the strconv.Unquote function,这是一个示例代码段:

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)
}

关于json - 相当于Python的json.dumps和json.loads,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61943991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com