为了账号安全,请及时绑定邮箱和手机立即绑定

如何在高浪和回声框架中将json转换为字符串?

如何在高浪和回声框架中将json转换为字符串?

Go
不负相思意 2022-09-19 17:47:19
我有一个通过邮寄收到的 json{"endpoint": "assistance"}我收到这样的消息json_map: = make (map[string]interface{})现在我需要将其作为字符串分配给变量,但我不知道该怎么做。endpoint: = c.String (json_map ["endpoint"])
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

执行此操作的一种类型安全方法是创建一个表示请求对象的结构并取消编组。


这会使您对意外请求感到恐慌。


package main


import (

    "encoding/json"

    "fmt"

)


type response struct {

    Endpoint string

}


func main() {

    jsonBody := []byte(`{"endpoint": "assistance"}`)

    data := response{}

    

    if err := json.Unmarshal(jsonBody, &data); err != nil {

        panic(err)

    }


    fmt.Println(data.Endpoint)

}

// assistance

该程序作为示例安全地将JSON解码为结构并打印值。


查看完整回答
反对 回复 2022-09-19
?
12345678_0001

TA贡献1802条经验 获得超5个赞

您尝试实现的不是将 JSON 转换为字符串,而是将空接口转换为“您可以通过执行类型断言来实现此目的:interface{}string


endpoint, ok := json_map["endpoint"].(string)

if !ok {

  // handle the error if the underlying type was not a string

}

此外,正如@Lex提到的,使用Go结构定义JSON数据可能会更安全。这样,您的所有字段都将被键入,您将不再需要这种类型断言。


查看完整回答
反对 回复 2022-09-19
  • 2 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信