gpt4 book ai didi

json - 如何在Golang上的RESTful api中返回没有转义字符串的Json数据

转载 作者:IT王子 更新时间:2023-10-29 01:48:33 25 4
gpt4 key购买 nike

我用 Golang 编写了一个 API。此 API 确实从其他服务接收数据,然后以 JSON 字符串类型响应用户。这是我遇到的问题。

type message struct {
Data string `json:"data"`
}

func test(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
data := // Retrieve message that contain backslash
json.NewEncoder(w).Encode(message{Data: data})
}

`如果从其他 API 接收的数据中有反斜杠。此 API 将发送带有双反斜杠的响应。

例子。

收到的数据:“asdasdasd\asdasdasd”

响应数据:{"data": "asdasdasd\\asdasdasd"}

我已经尝试弄清楚了。这是我得到的。如果我尝试使用 fmt.Println() 在屏幕上打印出来,所有这些都没有问题。

只有当我尝试将它们以 JSON 字符串形式发送出去时,我才会遇到问题。因此,有什么方法可以在不使用双反斜杠的情况下发送这些数据吗?

最佳答案

几天前我问了几乎相同的问题,here是帖子。

基本上,您不希望数据是一个字符串,而是一个接口(interface){}

type message struct {
Data interface{} `json:"data"`
}

我认为这可能也适用于您。如果您想使用 RESTFul 并返回不同类型的结构,这绝对是正确的选择。

关于json - 如何在Golang上的RESTful api中返回没有转义字符串的Json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45914863/

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