encoding/json

  1. 将 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);

  1. 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"]

}

  1. 2. 将数组/结构体转换为 JSON 字符串,即`json.Unmarshal([]byte(s), &a)`的逆操作,可使用:`json.Marshal(a)`,例如:
  2. ```go
  3. package main
  4. import (
  5. "fmt"
  6. "encoding/json"
  7. )
  8. type UserItem struct {
  9. Name string `json:"name"`
  10. }
  11. func main() {
  12. userItem := UserItem{
  13. Name: "ABC",
  14. }
  15. userJSON, err := json.Marshal(userItem)
  16. if err != nil {
  17. fmt.Println(err)
  18. } else {
  19. fmt.Println(string(userJSON)); // 输出: '{"name":"ABC"}'
  20. }
  21. }