Golang怎么快速高效地处理JSON数据

什么是JSON?

JSON.parse()
encoding/json

Go语言中的JSON

在Golang中,和其他编程语言一样,我们也需要通过编码和解码来处理JSON数据。

编码
json.Marshal()

示例代码:

package main

import (
    "encoding/json"
    "fmt"
)

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

func main() {
    person := Person{
        Name: "Tom",
        Age:  30,
    }

    jsonBytes, err := json.Marshal(person)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    fmt.Println("JSON Data:", string(jsonBytes))
}
Personjson:"name"json:"age"nameagePersonjson.Marshal()
解码
json.Unmarshal()

示例代码:

package main

import (
    "encoding/json"
    "fmt"
)

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

func main() {
    jsonStr := `{"name": "Tom", "age": 30}`

    var person Person
    err := json.Unmarshal([]byte(jsonStr), &person)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    fmt.Println("Name:", person.Name)
    fmt.Println("Age:", person.Age)
}
PersonjsonStrPersonjson.Unmarshal()Person
注意事项
encoding/json

1.在Golang中,结构体中的字段首字母必须大写,否则该字段将无法编码为JSON格式数据;

json: "name"name

3.在解码时,需要确保被解码的字节序列是合法的JSON格式数据,否则解码函数将返回错误。