登录
首页 >  Golang >  Go问答

在 Go 中,如何解组包含结构体数组的字符串

来源:stackoverflow

时间:2024-04-16 20:03:36 242浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《在 Go 中,如何解组包含结构体数组的字符串》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

我从 api 接收的属性之一是一个包含结构数组的字符串,其中结构的属性被转义。

我希望数据(输出对象)成为一个简单的 mystruct 数组,如下所示:

[{"f":"f-val"}]

但是,我得到的输出是一个空数组 []。

有人可以帮忙吗?我将不胜感激。

package main

import "fmt"
import "encoding/json"

type MyStruct struct {
    F string
}

func main() {
    stringResponse := `"[{\"f\":\"f-val\"}]"`
    var data []MyStruct
    json.Unmarshal([]byte(string(stringResponse)), &data)
    fmt.Print(data)
}

解决方案


这是正确的示例:

package main

import (
   "encoding/json"
   "strconv"
)

func main() {
   s, e := strconv.Unquote(`"[{\"f\":\"f-val\"}]"`)
   if e != nil {
      panic(e)
   }
   var (
      b = []byte(s)
      m []struct{F string}
   )
   json.Unmarshal(b, &m)
   println(m[0].F == "f-val")
}

终于介绍完啦!小伙伴们,这篇关于《在 Go 中,如何解组包含结构体数组的字符串》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>