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

go語言json解析

錢斌斌2年前10瀏覽0評論

在現代web應用程序中,JSON(JavaScript Object Notation)是一種常用的數據格式。在Go語言中,Go自帶的encoding / json庫提供了json解析功能。通過這篇文章,我們將了解如何在Go中解析JSON數據。

import (
"encoding/json"
"fmt"
)
type Person struct {
Name    string `json:"name"`  // 使用tag定義JSON中的字段名
Age     int    `json:"age"`
Address string `json:"address,omitempty"` //忽略 Address 字段的值為空的情況
}
func main() {
// 定義JSON字符串
jsonStr := `{
"name": "John",
"age": 25
}`
// 解析JSON字符串為struct類型
var person Person
err := json.Unmarshal([]byte(jsonStr), &person)
if err != nil {
fmt.Println("解析JSON字符串失敗:", err)
return
}
fmt.Println(person.Name) // Output: John
fmt.Println(person.Age)  // Output: 25
// 將結構體編碼為JSON字符串
person.Address = "China"
jsonByte, err := json.Marshal(person)
if err != nil {
fmt.Println("生成JSON字符串失?。?, err)
return
}
fmt.Println(string(jsonByte)) // Output: {"name":"John","age":25,"address":"China"}
}

在上面的例子中,我們首先定義了一個名為Person的結構體,該結構體中定義了Name,Age和Address三個字段。然后,我們定義了一個JSON字符串,該字符串將被解析為Person結構體類型。

接著我們使用json.UnMarshal()函數將JSON字符串解析為結構體類型。 如果解析成功,則person變量將包含解析后的JSON數據。 可以通過person.Name和person.Age訪問解析結果。 最后,我們將Person結構體再次編碼為JSON字符串,并使用fmt.Println()將結果打印在控制臺上。

總之,通過encoding / json包,Go語言提供了一種簡單有效的方式來解析和生成JSON數據。