当前位置: 首页 > wzjs >正文

.net 网站开发视频wordpress发文章功能不能正常显示

.net 网站开发视频,wordpress发文章功能不能正常显示,东莞网站建设报价方案,济宁seo在 Go 语言中,结构体字段标签(Struct Tag) 是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如 JSON、XML)、ORM 映射、验证等场景。你在开发 Web 应用或处理数据交互时&a…

在 Go 语言中,结构体字段标签(Struct Tag) 是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如 JSON、XML)、ORM 映射、验证等场景。你在开发 Web 应用或处理数据交互时,一定会经常看到类似下面的写法:

type User struct {Username string `json:"username"`Token    string `json:"token"`
}

其中的 json:"token" 就是字段标签,它并不影响 Go 语言本身的语法逻辑,但它在使用反射(reflect)时非常有用,特别是当你用标准库如 encoding/json 时。

一、结构体标签的基本语法

结构体标签是一对反引号 ` 包起来的字符串,里面是一个键值对的形式:

FieldName FieldType `key:"value"`
//可以写多个键值对:
FieldName FieldType `json:"token" xml:"token" validate:"required"`

这些标签是给其他包(通常是库)解析使用的,不影响 Go 编译器的行为。

二、json:"token"的具体含义

当你用 encoding/json 包将结构体编码为 JSON 时,这个标签的作用是:
指定序列化后的字段名
默认情况下,Go 会使用结构体字段名作为 JSON 的字段名。但注意:
Go 结构体的字段是大写开头(导出);
JSON 通常用小写字段名(如 “token”);
为了统一后端返回格式并满足前端规范,我们可以显式指定字段名:

type User struct {Token string `json:"token"`
}

生成的json:

{"token": "abc123"
}

反序列化时也生效
当你将 JSON 反序列化成结构体时,Go 会根据标签来找对应字段。例如上面的json格式能成功映射到:

var user User
json.Unmarshal(data, &user)
// user.Token == "abc123"

三、常见的标签格式变体

type User struct {Token string `json:"token"`           // 显式指定字段名为 tokenAge   int    `json:"-"`               // 忽略该字段,不进行序列化Email string `json:"email,omitempty"` // 若为空则忽略该字段
}

json:“-”: 表示这个字段永远不会被编码或解码,即不导出。
json:“email,omitempty”: 表示只有字段不为默认值时,才会被编码到 JSON(比如字符串为 “”,数字为 0 就会忽略)。

四、使用示例

package mainimport ("encoding/json""fmt"
)type User struct {Username string `json:"username"`Token    string `json:"token"`Age      int    `json:"-"` // 不导出
}func main() {user := User{Username: "Alice",Token:    "abc123",Age:      30,}data, _ := json.Marshal(user)fmt.Println(string(data))
}
//{"username":"Alice","token":"abc123"}

五、使用建议

  1. 字段必须导出(首字母大写),否则即使有 tag,json 包也不会访问它。
  2. 推荐统一使用小写 JSON 字段名:json:“username”,更符合前端 JSON 风格。
  3. 如有嵌套结构体,注意为子结构体也添加 json 标签。!!!~~~~~~~~!!! 务必都为添加 json 标签的结构体!!!!不然前端解析不了!!!

疑问? 如果json tag为"-" ,为什么不把结构体首字母小写呢 不是一个效果吗?

json:"-"的用途
json:“-” 是明确告诉 encoding/json:“这个字段你不要处理,序列化/反序列化时忽略它”。这在结构体对外暴露字段但不希望被 JSON 处理时非常有用,比如:

type User struct {Username string `json:"username"`Password string `json:"-"` // 不想被输出!
}

你仍然可以在后端处理 Password 字段,但它不会出现在 JSON 输出中。这是安全和结构清晰性方面的明确表达。
总结:选择建议

目的用法推荐
字段仅用于内部逻辑,不想暴露出去小写字段
字段对程序可见,但不想在 JSON 中出现json:"-"
需要 JSON 中出现但字段名不同json:"your_name"
希望字段在为空时不出现json:"your_name,omitempty"

简单例子:

type RespMsg struct {Code int         `json:"code"`Msg  string      `json:"msg"`Data interface{} `json:"data"`
}type LoginData struct {Token    string `json:"token"`Username string `json:"username"`Location string `json:"location"`
}rsp := RespMsg{Code: 200,Msg:  "success",Data: LoginData{Token:    userToken,Username: username,Location: "/static/view/home.html",},
}

这样返回的 JSON 就是:

{"code": 200,"msg": "success","data": {"token": "...","username": "...","location": "..."}
}

前端用 resp.data.token、resp.data.username 就不会有大小写错位的问题。


文章转载自:

http://ouzsaGSC.snygg.cn
http://eBz9gbGR.snygg.cn
http://aLvapfR4.snygg.cn
http://67oYXHvN.snygg.cn
http://nUXpW938.snygg.cn
http://okVhIdUS.snygg.cn
http://WlwjHx47.snygg.cn
http://KRnpoAEJ.snygg.cn
http://PJQB2xV1.snygg.cn
http://8x6dU9QV.snygg.cn
http://b2N42jFW.snygg.cn
http://z7zYyuaP.snygg.cn
http://nKB7oVZY.snygg.cn
http://TbOkQWer.snygg.cn
http://dZlXkWdd.snygg.cn
http://Gk6wDsTR.snygg.cn
http://b1ElZaT6.snygg.cn
http://sJ2d3Wlv.snygg.cn
http://GywWxncp.snygg.cn
http://048Ji08F.snygg.cn
http://k3s0dHwF.snygg.cn
http://rSa7yAjQ.snygg.cn
http://5nsxuv6s.snygg.cn
http://N3YalHWj.snygg.cn
http://P884kS15.snygg.cn
http://KKQN7gmx.snygg.cn
http://5HGpHnV5.snygg.cn
http://0QlzBtXt.snygg.cn
http://9A9aH5ng.snygg.cn
http://GWbei3xL.snygg.cn
http://www.dtcms.com/wzjs/759059.html

相关文章:

  • 做响应式网站一般都用哪些框架做网站需要会什么 知乎
  • 做的网站上更改内容改怎么办wordpress auto自动采集
  • 可以中英切换的网站怎么做代理公司注册服务
  • 网站建设入门旅游网站规划建设方案
  • 江门建设建筑网站wordpress会员中心添加头像上传
  • 桐城市住房和城乡建设局网站东阳做网站的公司
  • 网站域名费用友好链接
  • jsp做网站毕业设计gooood设计网
  • seo资料站极速网站建设哪家便宜
  • 织梦网站怎么更换模板红安建设局网站
  • 公司网站是怎么样的做网站的服务器要什么格式
  • 网站排名优化培训电话佛山做网站需要多少钱
  • 石家庄seo网站优化电话新闻类网站怎么建设
  • 重庆个人网站建设全景网站怎么做
  • 品牌型 网站建设ps软件是干什么用的
  • 视频剪辑师要学多久成都seo优化外包公司
  • 杭州手机申请网站登录深圳网站建设-猴王网络
  • 韩城建设局网站动漫做的游戏 迅雷下载网站有哪些
  • 薛华成 旅游网站建设做网站备案是承诺书是啥
  • 杭州互助盘网站开发网站建设执招标评分表
  • 工作室 网站建设最近热点新闻大事件
  • 章丘区网站建设怎么弄网站
  • 为什么网站建设杭州设计公司老总被点火
  • 男人与女人做视频网站域名和网站
  • 室内设计网站有哪些比较好WordPress编辑器过滤
  • 石家庄 外贸网站建设英国零售电商网站开发
  • 招聘网站开发学徒手机上的网站设置方法
  • 中国水利建设网站wordpress可视化采集
  • 擦边球网站做国内还是国外好蚂蚁分类信息网站建设
  • 南京网站优樱化it运维需要学哪些知识