首页 >后端开发 >Golang >如何使用 json 包解析 Go 中的 JSON 数组?

如何使用 json 包解析 Go 中的 JSON 数组?

Linda Hamilton
Linda Hamilton原创
2024-12-10 14:03:10575浏览

How to Parse JSON Arrays in Go Using the `json` Package?

使用 JSON 包解析 Go 中的 JSON 数组

问题:如何解析表示一个 JSON 字符串Go 中使用 json 包实现数组?

代码示例:

考虑以下 Go 代码:

type JsonType struct {
    Array []string
}

func main() {
    dataJson := `["1", "2", "3"]`
    arr := JsonType{}
    unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array)
    log.Printf("Unmarshaled: %v", unmarshaled)
}

解释:

提供的代码定义了一个带有数组的 JsonType 类型字符串。然后,它尝试将 JSON 字符串解组到 JsonType 实例的数组字段中。不过代码有问题。

解决方案:

Unmarshal 的返回值是一个错误。该代码最初打印此错误而不是未编组的数组。要修复它,您可以将代码更改为:

err := json.Unmarshal([]byte(dataJson), &arr)

此外,您可以通过直接解组到数组切片来简化代码,而不使用自定义类型:

var arr []string
_ = json.Unmarshal([]byte(dataJson), &arr)

这个代码将未编组的切片分配给 arr。赋值前的下划线抑制了错误值,本代码中没有使用。

通过有效使用 json 包,您可以轻松地在 Go 中解析 JSON 数组。

以上是如何使用 json 包解析 Go 中的 JSON 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn