json处理

作者: 寒云暮雨 | 来源:发表于2019-10-15 17:55 被阅读0次

项目当中我们免不了json处理,尤其是现在前后端分类的大趋势下,这篇我们就讲讲常用的json处理

/*
@Author :   寒云
@Email  :   1355081829@qq.com
@Time : 2019/10/15 11:51
*/
package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()
    r.GET("/json", func(c *gin.Context) {
        data := map[string]interface{}{
            "name": "hanyun",
            "html": "<b>Hello, world!</b>",
        }
        c.JSON(http.StatusOK, data)
    })
    r.GET("/jsonp", func(c *gin.Context) {
        data := map[string]interface{}{
            "name": "hanyun",
        }
        c.JSONP(http.StatusOK, data)
    })

    r.GET("/purejson", func(c *gin.Context) {
        c.PureJSON(200, gin.H{
            "html": "<b>Hello, world!</b>",
        })
    })

    _ = r.Run(":8089")
}

我们建立了三个路由
1、访问http://127.0.0.1:8089/json

{"html":"\u003cb\u003eHello, world!\u003c/b\u003e","name":"hanyun"}

我们发现里面的HTML代码被转义了
2、访问http://127.0.0.1:8089/purejson

{"html":"<b>Hello, world!</b>"}

HTML代码原封不动的显示出来
3、访问http://127.0.0.1:8089/jsonp?callback=callback

callback({"name":"hanyun"})

我们返回了一个jsonp数据
查看jsonp的源码

func (c *Context) JSONP(code int, obj interface{}) {
    callback := c.DefaultQuery("callback", "")
    if callback == "" {
        c.Render(code, render.JSON{Data: obj})
        return
    }
    c.Render(code, render.JsonpJSON{Callback: callback, Data: obj})
}

我们发现他有个默认的参数用于返回jsonp的前缀
更改我们的访问链接地址http://127.0.0.1:8089/jsonp?callback=hanyun
我们返回的jsonp格式如下

hanyun({"name":"hanyun"})

相关文章

  • json转hashtable

    /// /// 处理json /// /// json字符串 /// ...

  • Python基础-25 JSONPath用法

    25 使用Python处理JSON数据 25.1 JSON简介 25.1.1 什么是JSON     JSON全称...

  • json文件处理和 csv文件处理

    json文件处理: 什么是json: JSON(JavaScript Object Notation, JS 对象...

  • json_serializable 使用说明

    Flutter 使用 json_annotation 和 json_serializable 处理 json数据 ...

  • Python学习笔记——JSON数据处理

    使用json模块处理JSON数据: loads(json_str)读取jsondumps() 生成json字符串 ...

  • python 04json处理

    python对json的处理主要依赖json模块 json模块常用方法 tips

  • json处理

    读取json格式字符串 json.loads(str) 将字符串转换为json json.dump(json)

  • Json处理

    JSON(JavaScript Object Notation)是一种轻量级数据交换格式,相对于XML而言更简单...

  • JSON处理

    fastjson json字符串转为json对象 将json字符串转为javabean对象 将map或者复杂对象转...

  • json处理

    项目当中我们免不了json处理,尤其是现在前后端分类的大趋势下,这篇我们就讲讲常用的json处理 我们建立了三个路...

网友评论

    本文标题:json处理

    本文链接:https://www.haomeiwen.com/subject/imasmctx.html