golang 获取json中的数组
时间: 2024-06-09 20:01:17 浏览: 13
可以使用 Go 内置的 `encoding/json` 库来解析 JSON 字符串,然后获取数组。
假设有以下 JSON 字符串:
```json
{
"name": "John",
"age": 30,
"hobbies": ["reading", "running", "swimming"]
}
```
可以定义一个结构体来映射 JSON 字段:
```go
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Hobbies []string `json:"hobbies"`
}
```
然后使用 `json.Unmarshal()` 函数来将 JSON 字符串解析为结构体:
```go
str := `{"name":"John","age":30,"hobbies":["reading","running","swimming"]}`
var p Person
json.Unmarshal([]byte(str), &p)
```
最后就可以通过 `p.Hobbies` 来获取数组了:
```go
fmt.Println(p.Hobbies) // [reading running swimming]
```
相关问题
golang结构体中定义数组
在Golang中,可以在结构体中定义数组。下面是一个示例:
```go
package main
import "fmt"
type Person struct {
Name string
Age int
Hobbies [3]string
}
func main() {
p := Person{
Name: "John",
Age: 30,
Hobbies: [3]string{
"Reading",
"Playing guitar",
"Cooking",
},
}
fmt.Println(p.Name)
fmt.Println(p.Age)
fmt.Println(p.Hobbies)
}
```
在上面的示例中,我们定义了一个名为Person的结构体,其中包含了Name、Age和Hobbies三个字段。Hobbies字段是一个长度为3的字符串数组。在main函数中,我们创建了一个Person类型的变量p,并为其各个字段赋值。然后,我们打印出p的Name、Age和Hobbies字段的值。
运行上述代码,输出结果如下:
```
John
30
[Reading Playing guitar Cooking]
```
golang make 二维数组
在 Golang 中,可以使用 make 函数来创建二维数组。下面是一个示例代码:
```go
package main
import "fmt"
func main() {
// 创建一个 3x3 的二维数组
rows := 3
cols := 3
arr := make([][]int, rows)
for i := range arr {
arr[i] = make([]int, cols)
}
// 初始化二维数组的值
for i := 0; i < rows; i++ {
for j := 0; j < cols; j++ {
arr[i][j] = i*cols + j + 1
}
}
// 打印二维数组
for i := 0; i < rows; i++ {
fmt.Println(arr[i])
}
}
```
上述代码通过 make 函数创建了一个 3 行 3 列的二维数组。然后使用嵌套的 for 循环初始化了二维数组的值,并最后打印了数组的内容。
运行上述代码,输出结果为:
```
[1 2 3]
[4 5 6]
[7 8 9]
```
希望这个例子对你有帮助!如果还有其他问题,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)