encoding/json
- 将 JSON 字符串反解析为数组/结构体:
json.Unmarshal([]byte(s), &a)
,例如: ```go package main
import ( “fmt” “encoding/json” )
func main() { var coverList []string coverStr := “[\”https://img.alicdn.com/bao/uploaded/i1/2360209412/O1CN01jtiHtA2JOkOVn4Tdv_!!2-item_pic.png_400x400q60.jpg\",\"https://img.alicdn.com/bao/uploaded/bao/upload/TB18xU7eggP7K4jSZFqXXamhVXa.png_400x400q60.jpg\“]”; json.Unmarshal([]byte(coverStr), &coverList);
fmt.Println(coverList); // 输出: ["https://img.alicdn.com/bao/uploaded/i1/2360209412/O1CN01jtiHtA2JOkOVn4Tdv_!!2-item_pic.png_400x400q60.jpg", "https://img.alicdn.com/bao/uploaded/bao/upload/TB18xU7eggP7K4jSZFqXXamhVXa.png_400x400q60.jpg"]
}
2. 将数组/结构体转换为 JSON 字符串,即`json.Unmarshal([]byte(s), &a)`的逆操作,可使用:`json.Marshal(a)`,例如:
```go
package main
import (
"fmt"
"encoding/json"
)
type UserItem struct {
Name string `json:"name"`
}
func main() {
userItem := UserItem{
Name: "ABC",
}
userJSON, err := json.Marshal(userItem)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(string(userJSON)); // 输出: '{"name":"ABC"}'
}
}