使用 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中文网其他相关文章!