将类型编码为 JSON 时将字符串附加到成员

我有一个名为“Url”的值成员的类型。将此类型编码为 json 时,我想在 Url 前面添加 HOST 值。实现这一目标的最佳方法是什么?


在这个例子中,Println语句打印{"url":"/thisurl"},我希望它打印{"url":"http://myhost.com/thisurl"}


package main


import "fmt"

import "encoding/json"


type Post struct {

  Url string `json:"url"`

}


const (

  HOST = "http://myhost.com"

)


func main() {

  post := Post{"/thisurl"}

  marshaled, _ := json.Marshal(post)


  fmt.Println(string(marshaled))

   //{"url":"/thisurl"}

}

更新

我可以在之前重新分配post.Url右json.Marshal线


post.Url = fmt.Sprintf("%s%s", HOST, post.Url)

但这感觉有点乱,如果我每次想编码为json时都必须记住重新分配。


我不想改变 的值post.Url,我只想改变它作为 json 的表示方式。


慕尼黑8549860
浏览 187回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go