前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gin 学习之响应处理

Gin 学习之响应处理

作者头像
frank.
发布2020-08-26 18:01:25
8800
发布2020-08-26 18:01:25
举报

01

String

c.String() 第一个参数是code,第二个参数是格式化字符串,第三个开始的若干参数支持任何数据类型。

示例代码:

输出结果:

用户名:frank

02

JSON

Gin 使用 encoding/json 作为默认的 json 包,可以序列化 map 类型的对象。

示例代码:

输出结果:

{"age":18,"email":"frank@gmail.com","name":"frank"}

gin.H 是 map[string]interface{} 的一种快捷方式。

示例代码:

输出结果:

{"age":19,"email":"bob@gmail.com","name":"bob"}

还可以序列化 struct 类型的对象,并且可以使用 tag 标签修改响应结果的字段名。

示例代码:

输出结果:

{"name":"lucy","Email":"lucy@gmail.com","Age":17}

03

JSONP

使用 JSONP 向不同域的服务器请求数据。如果查询参数存在回调,则将回调添加到响应体中。

示例代码:

输出结果:

curl -X GET http://localhost:8081/user3?callback=ab
abc({"age":16,"email":"lily@gmail.com","name":"lily"});

04

PureJSON

通常,JSON 使用 unicode 替换特殊 HTML 字符,例如 < 变为 \ u003c。如果要按字面对这些字符进行编码,则可以使用 PureJSON。Go 1.6 及更低版本无法使用此功能。

示例代码:

输出结果:

{"html":"<b>hello</b>"}

05

SecureJSON

使用 SecureJSON 防止 json 劫持。如果给定的结构是数组值,则默认预置 "while(1)," 到响应体。

你也可以使用自己的 SecureJSON 前缀,r.SecureJsonPrefix(")]}',\n")

示例代码:

输出结果:

while(1);["a","b","c"]

06

AsciiJSON

使用 AsciiJSON 生成具有转义的非 ASCII 字符的 ASCII-only JSON。

示例代码:

输出结果:

{"age":20,"email":"zs@gmail.com","name":"\u5f20\u4e09"}

07

XML

XML 格式

示例代码:

输出结果:

<map>
<email>apple@gmail.com</email>
<name>apple</name>
</map>

08

YAML

YAML 格式

示例代码:


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Go语言开发栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档