加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在golang中将字符串值作为json对象返回?

发布时间:2020-12-16 09:26:05 所属栏目:大数据 来源:网络整理
导读:我正在使用gogo与beego框架,我有服务字符串作为json的问题. EventsByTimeRange以json格式返回字符串值 this.Data["json"] = dao.EventsByTimeRange(request) // this - beego controllerthis.ServeJson()"{"key1":0,"key2":0}" 我怎样才能摆脱引号? 解
我正在使用gogo与beego框架,我有服务字符串作为json的问题.

EventsByTimeRange以json格式返回字符串值

this.Data["json"] = dao.EventsByTimeRange(request) // this -> beego controller
this.ServeJson()

"{"key1":0,"key2":0}"

我怎样才能摆脱引号?

解决方法

您可以在新类型中重新定义json格式字符串.这是一个小型演示

package main

import (
    "encoding/json"
    "fmt"
)

type JSONString string

func (j JSONString) MarshalJSON() ([]byte,error) {
    return []byte(j),nil
}

func main() {
    s := `{"key1":0,"key2":0}`
    content,_ := json.Marshal(JSONString(s))
    fmt.Println(_,string(content))
}

在你的情况下,你可以像这样写

this.Data["json"] = JSONString(dao.EventsByTimeRange(request))
this.ServeJson()

BTW,golang-json包添加了引号,因为它将您的字符串视为json值,而不是json k-v对象.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读