問題描述初學(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"}
Golang 以 Json 形式返回 Php 序列化的數(shù)據(jù)
胡說叔叔
2019-10-17 09:01:06