Golang如何将用户自定义消息打印到结构体并解析为JSON编码
Golang如何将用户自定义消息打印到结构体并解析为JSON编码 大家好,
我有一个结构体
type Response struct {
Status string `json:"status"`
Message string `json:"message"`
}
我有字符串
stat := "Valid"
msg := fmt.Sprinf(abc"+" cde)
我想将 stat 和 msg 传递给结构体 Response,并在 JSON 编码中使用它,我该如何实现?
3 回复
只需创建一个类型为 Response 的变量,并为每个属性分配相应的值。
stat := “Valid”
msg := fmt.Sprinf(abc"+" cde)
newResponse := Response{ Status:stat, Message:msg}
b, err := json.Marshal(newResponse)
更多关于Golang如何将用户自定义消息打印到结构体并解析为JSON编码的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
这个方法有效,非常感谢。
可以使用以下代码将自定义消息赋值给结构体并编码为JSON:
package main
import (
"encoding/json"
"fmt"
)
type Response struct {
Status string `json:"status"`
Message string `json:"message"`
}
func main() {
stat := "Valid"
msg := fmt.Sprintf("abc" + " cde")
// 创建Response实例并赋值
resp := Response{
Status: stat,
Message: msg,
}
// 编码为JSON
jsonData, err := json.Marshal(resp)
if err != nil {
fmt.Println("JSON编码错误:", err)
return
}
fmt.Println(string(jsonData))
// 输出: {"status":"Valid","message":"abc cde"}
}
如果需要解析JSON字符串回结构体:
// 解析JSON到结构体
var parsedResp Response
err = json.Unmarshal(jsonData, &parsedResp)
if err != nil {
fmt.Println("JSON解析错误:", err)
return
}
fmt.Printf("解析结果: Status=%s, Message=%s\n",
parsedResp.Status, parsedResp.Message)
如果msg需要更复杂的格式化:
name := "John"
age := 30
msg := fmt.Sprintf("用户 %s 年龄 %d", name, age)
resp := Response{
Status: "Success",
Message: msg,
}
jsonData, _ := json.Marshal(resp)
fmt.Println(string(jsonData))
// 输出: {"status":"Success","message":"用户 John 年龄 30"}

