第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang 以 Json 形式返回 Php 序列化的數(shù)據(jù)

Golang 以 Json 形式返回 Php 序列化的數(shù)據(jù)

胡說叔叔 2019-10-17 09:01:06
問題描述初學(xué)golang,基礎(chǔ)尚薄弱,遇到問題,嘗試在網(wǎng)上找了一些方法,但感覺始終在亂撞,沒理出思路。項目用的是golang,框架用的是Echo。想取redis中的數(shù)據(jù)并以json的形式返回出來。redis中的數(shù)據(jù)是經(jīng)過php序列化的json(另外的Php服務(wù)存儲進來的),我先用phpserialize.Decode(github.com/wulijun/go-php-serialize/phpserialize)把從redis中取出的數(shù)據(jù)反序列化,然后用JSON(200,data)返回。redis存儲的數(shù)據(jù)是這個樣子(json整體作為一個字符串):s:36:"{"name":"xiaoming","nickname":"neo"}"但是在返回后,是以字符串的形式返回的。而我的期待是以json形式返回出來。還請不吝賜教。相關(guān)代碼main.gofuncmain(){e:=echo.New()e.GET("/getdata/:id",contract.dataGet)log.Error().Err(e.Start(":8080")).Timestamp()}data.gopackagecontractimport("github.com/labstack/echo/v4""github.com/go-redis/redis""github.com/wulijun/go-php-serialize/phpserialize")func(sData)BuildData(datastring)(interface{},bool){ifdata==""{returnnil,true}d,err:=phpserialize.Decode(data)iferr!=nil{returnnil,true}returnd,false}funcdataGet(cecho.Context)error{//省略redis配置data:=client.(*redis.Client).Get(cacheKey).Val()result,e:=BuildData(data)ife{returnecho.NewHTTPError(400,echo.Map{"message":"dataerror."})}returnc.JSON(200,result)}看到的返回結(jié)果"{\"name\":\"xiaoming\",\"nickname\":\"neo\"}"期待的結(jié)果{"name":"xiaoming","nickname":"neo"}
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經(jīng)驗 獲得超6個贊

聲明一個新類型,比如
typePersonStruct{
Namestring
Nicknamestring
}
將json字符串反序列化成這個對象
再按照c.Json()返回,應(yīng)該返回的就是指定的json對象了
                            
查看完整回答
反對 回復(fù) 2019-10-17
  • 2 回答
  • 0 關(guān)注
  • 396 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號