色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go語言中的json解析

林玟書2年前8瀏覽0評論

JSON(JavaScript Object Notation )是一種輕量級的數據交換格式。在Go語言中,我們可以使用encoding/json包來解析JSON數據。該包提供了一個Decoder類型,它通過將JSON數據流解析為Go語言中的類型來解碼JSON。

package main
import (
"encoding/json"
"fmt"
"log"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
jsonStr := `{"name": "Tom", "age": 25}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
log.Fatal(err)
}
fmt.Println(p.Name, p.Age)
}

在上面的示例中,我們首先定義了一個Person類型,該類型具有名字和年齡兩個字段,并使用json標記指定字段的JSON名稱。然后,我們創建一個包含JSON數據的字符串,并使用json.Unmarshal()函數將其解碼成一個Person類型。如果解碼成功,則打印Person的名稱和年齡。

當然,有時我們需要將JSON編碼為字符串。這也可以很容易地完成,只需使用json.Marshal()函數即可:

func main() {
p := Person{Name: "Jerry", Age: 30}
jsonBytes, err := json.Marshal(p)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(jsonBytes))
}

在這個例子中,我們首先創建一個Person類型實例,并通過json.Marshal()函數將其編碼成JSON字符串。如果成功,則打印JSON字符串。

總結來說,encoding/json包使得Go語言中的JSON編解碼變得異常簡單明了。只需按照上面的示例這樣做,就可以快速處理JSON數據。