Hot For Coding

Go里JSON的解析与转换

Go里对JSON的操作提供了encoding/json这个包两个方法

  • json.Marshal()
  • json.Unmarshal()

对象转JSON,使用json.Marshal()方法

// 琼台博客 www.qttc.net

package main

import (
  "encoding/json"
  "fmt"
)

type People struct {
  Age  int    `json:"age"`
  Name string `json:"name"`
}

func main() {
  p := People{18, "Nicholas"}

  s, err := json.Marshal(p)

  if err != nil {
    panic(err)
  } else {
    fmt.Println(string(s)) // Output: {"age":18,"name":"Nicholas"}
  }
}

输出

{"age":18,"name":"Nicholas"}

JSON字符串转对象,使用json.Unmarshal()方法

// 琼台博客 www.qttc.net

package main

import (
  "encoding/json"
  "fmt"
)

type People struct {
  Age  int    `json:"age"`
  Name string `json:"name"`
}

func main() {
  s := "{\"age\":18,\"name\":\"Nicholas\"}"

  var p People
  err := json.Unmarshal([]byte(s), &p)

  if err != nil {
    panic(err)
  } else {
    fmt.Println(p) // Output: {18 Nicholas}
  }
}

输出

{18 Nicholas}

分享

TITLE: Go里JSON的解析与转换

LINK: https://www.qttc.net/85-golang-parse-and-transform-json.html

NOTE: 原创内容,转载请注明出自琼台博客