在将字符串转换为JSON数组之前,我们需要定义一个结构体,以便存储转换后的数据。这个结构体应该与JSON数组中的对象相对应。例如,如果我们的JSON数组包含名称和年龄字段,那么我们可以定义如下结构体:
```go
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
```
Step 3: 执行转换
现在,我们可以开始执行字符串到JSON数组的转换了。首先,我们需要将字符串解析为一个普通的数组或切片。我们可以使用`json.Unmarshal()`函数来做到这一点。
```go
var jsonString = `[
{"name":"Alice", "age":25},
{"name":"Bob", "age":30},
{"name":"Charlie", "age":35}
]`
var people []Person
err := json.Unmarshal([]byte(jsonString), &people)
if err != nil {
fmt.Println("解析JSON数组失败:", err)
return
}
```
在上面的代码中,我们首先定义了一个字符串`jsonString`,它代表了一个包含三个人员信息的JSON数组。然后我们定义了一个空的`people`切片,用于存储解析后的结果。接着,我们调用`json.Unmarshal()`函数,并传入字符串的字节数组以及`&people`的地址作为参数。如果解析成功,`people`切片将被填充上正确的值。