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

为什么有网网站打不开怎么回事啊福建省城乡和住房建设厅网站

为什么有网网站打不开怎么回事啊,福建省城乡和住房建设厅网站,网站的ftp账号和密码,新媒体营销推广方案gin 框架的 JSON Render gin 框架默认提供了很多的渲染器,开箱即用,非常方便,特别是开发 Restful 接口。不过它提供了好多种不同的 JSON Render,那么它们的区别是什么呢? // JSON contains the given interface obje…

gin 框架的 JSON Render

gin 框架默认提供了很多的渲染器,开箱即用,非常方便,特别是开发 Restful 接口。不过它提供了好多种不同的 JSON Render,那么它们的区别是什么呢?

// JSON contains the given interface object.
type JSON struct {Data any
}// IndentedJSON contains the given interface object.
type IndentedJSON struct {Data any
}// SecureJSON contains the given interface object and its prefix.
type SecureJSON struct {Prefix stringData   any
}// JsonpJSON contains the given interface object its callback.
type JsonpJSON struct {Callback stringData     any
}// AsciiJSON contains the given interface object.
type AsciiJSON struct {Data any
}// PureJSON contains the given interface object.
type PureJSON struct {Data any
}

这是框架自带的 6 种 JSON Render:

  • JSON 标准库 JSON
  • IndentedJSON 缩进 JSON
  • SecureJSON 安全 JSON
  • JsonpJSON JSONP JSON
  • AsciiJSON ASCII JSON
  • PureJSON 纯粹的 JSON

下面就让我们来依次看一下它们的区别,不过这里只是简单介绍一下,我主要想说的是默认的 JSON 和 PureJSON,其它的就一笔带过了,不过我也看了一些其它的博客,也把相关链接添加进来了。

代码示例

Standary JSON
通用的 JSON 即是 Golang 自带的 json 库,所以它会自动将html标签进行转义(将它们变成 Unicode 码的形式)。

在这里插入图片描述

gin 默认的 JSON 库是 Go 的标准库,当然为了最求性能,你可以自行替换成其它更快的 JSON 实现(例如 easyjson 等)。

在这里插入图片描述

默认的 JSON 实现,会自动将 HTML 标签进行转义,避免的方法是创建一个 JSON 编码器。

在这里插入图片描述

是否转移,是依靠 escapeHTML 这个属性进行控制的。

在这里插入图片描述

在这里插入图片描述

然后在编码时,会依据该属性来决定是否转义HTML标签(默认开启)。

在这里插入图片描述
这篇博客的探索过程写得很好,还是应该多主动探索:解决Go json.Marshal() 将HTML字符串转义的问题

Pure JSON
字面意思就是 纯粹的 JSON,你可以理解上面的是经过转换的,所以是不纯粹的了。这个 JSON Render 是结果是原汁原味的,我这两天正好输出的 JSON 字符串中带有标签,最后就是用的 Pure JSON 解决的问题。它的注释也说明了,它不像 JSON,不会使用 Unicode 码替换特殊的 HTML 字符。

PureJSON, unlike JSON, does not replace special html characters with their unicode entities.

PureJSON 的实现,设置了 JSON 编码器的 escapeHTML 属性为 false

在这里插入图片描述

在这里插入图片描述

ASCII JSON
这个应该用的比较少了,它用于那些不支持 Unicode 的程序,它会将所有的非 ASCII 字符都转换成 ASCII 的形式了。

在这里插入图片描述

Secure JSON
这个还是比较复杂的,它设计一个安全问题:JSON hijacking,JSON 劫持,可能会泄露敏感数据(看起来是利用了JS的某些高级特性来实施的)。不过它在这里的特点是蛮简单的,那就是它会在数组类型值前面加上 while(1);,参阅资料显示利用它来无限循环阻止攻击者执行 JSON 数组(用于攻击的 JS 脚本)。

想要进一步了解,请参考一下链接:Golang Gin 实战(九)| JSONP跨域和劫持

在这里插入图片描述

Jsonp JSON

Jsonp 是前端常用的一种跨域手段,要想理解它需要一些简单的前端知识。这里的 callback 参数,就是用户在前端已经定义好的一个函数,而整个 JSON 就是它的参数。所以,可以看到响应体是类似这种函数调用的结构。特别的,它的 Content-Type 被设置为 application/javascript
注:如果不设置 callback 参数,则和标准 JSON 结果一样,没有区别。

想要进一步了解,请参考这个链接:Gin 框架 jsonp

在这里插入图片描述

Indented JSON
缩进 JSON,输出经过格式化的 JSON,比较适用于开发调试,这里就不贴图了。

http://www.15wanjia.com/news/160591.html

相关文章:

  • 网站开通银行支付接口阳春市建设局网站
  • 怎么做赌钱网站代理宁波网站建设股份公司
  • 自助建站系统有什么好处汕头手机模板建站
  • 广东广东深圳网站建设北京王府井简介
  • 网站建设运作流程做行业网站赚钱吗
  • 网站开发合同官司成都龙泉网站建设
  • 建免费的网站吗wordpress画廊插件
  • 自建站平台海南七星彩网站建设
  • 信息类网站制作logo制作器
  • 招聘网站如何做运营做标记网站
  • 做网站直接从网上的icon吗404 没有找到网站 试试申请收录吧
  • 上海自适应网站制作网站正在建设中 英语翻译
  • 模板网站 可以做推广吗辅助网站建设
  • 仓储服务 东莞网站建设 技术支持做微信网站的职位
  • 投资者教育网站建设网站开发背景设置
  • 郑州百度建网站怎样做网站开发
  • 旅游电商网站排名如何用ip做网站
  • 网站建设通查询简单一点的网站建设
  • 998元网站建设优化wordpress loop count
  • 湛江免费建站平台企业163邮箱怎么申请
  • 制作展示型网站的公司海口网站建设搜q.479185700
  • 有后台的网站建筑人才网和建筑英才网
  • 网站的设计思路怎么写商务网页是怎样设计的呢
  • asp.net mvc做网站难吗wordpress 仿头条主题
  • 凡客怎么了seo的搜索排名影响因素有哪些
  • 如何将一台电脑做网站空间wordpress如何写文章
  • 锦州市城市建设服务中心网站宁波公司网站制作
  • 做网站托管的好处镇江建设网站的公司
  • 查工程项目的网站力天装饰口碑怎么样
  • 广州市官网网站建设平台建设跨境网站