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

go json 解讀

錢衛國2年前10瀏覽0評論

Go語言的JSON解析器是一種用來處理JSON數據格式的工具。它可以將JSON數據轉換為結構化的數據類型,例如Go語言中的Map、Slice或Struct。

JSON是一種數據交換格式,它常用于客戶端和服務器之間的數據通信。在Go語言中,JSON解析器可以通過調用標準庫中的encoding/json來進行處理。

package main
import (
"encoding/json"
"fmt"
)
type Person struct {
FirstName string `json:"first_name"`
LastName  string `json:"last_name"`
Age       int    `json:"age"`
}
func main() {
jsonStr := `{"first_name":"John","last_name":"Doe","age":25}`
p := Person{}
json.Unmarshal([]byte(jsonStr), &p)
fmt.Printf("First Name: %s\nLast Name: %s\nAge: %d", p.FirstName, p.LastName, p.Age)
}

在上面的示例代碼中,我們定義了一個Person結構體,用來存儲JSON數據中的值。結構體中的字段使用json標簽來指定相關的JSON鍵名,例如first_namelast_nameage

接下來,我們將JSON字符轉換為字節數組[]byte。然后,我們定義一個空的 Person 結構體實例p,并調用json.Unmarshal()方法將JSON數據反序列化為該實例。反序列化后,我們可以通過訪問p.FirstNamep.LastNamep.Age來獲取JSON數據中的值。

此外,還可以通過json.Marshal()方法將Go語言數據類型轉換為JSON字符串。例如:

person := Person{FirstName: "Jane", LastName: "Doe", Age: 30}
jsonBytes, _ := json.Marshal(&person)
jsonStr := string(jsonBytes)
fmt.Println(jsonStr)

上面的代碼首先創建了一個 Person 對象實例person,并使用json.Marshal()將其序列化為JSON字符串。我們可以將創建的JSON字符串在控制臺中輸出,得到以下結果:

{"first_name":"Jane","last_name":"Doe","age":30}