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

go的json和xml轉換

謝彥文2年前10瀏覽0評論

Go語言提供了json和xml兩種格式的解析和轉換接口,方便我們在處理數(shù)據(jù)的過程中進行格式轉換。下面分別介紹這兩種格式的轉換方法。

json轉換

Go語言中使用encoding/json包來進行json格式的轉換。其中最常用的是json.Marshal和json.Unmarshal兩個函數(shù)。
下面是一個示例:

package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Address string `json:"address,omitempty"`
}
func main() {
p1 := Person{Name: "Tom", Age: 20}
jsonStr, err := json.MarshalIndent(p1, "", "  ")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(jsonStr))
var p2 Person
err = json.Unmarshal(jsonStr, &p2)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(p2)
}

運行結果:

{
"name": "Tom",
"age": 20
}
{Name:Tom Age:20 Address:}

解析:

上面的代碼定義了一個Person結構體,包含姓名,年齡和地址三個字段。使用json.Marshal將一個Person結構體轉換為json字符串,并通過json.Unmarshal將json字符串解析為一個Person結構體對象。

xml轉換

Go語言中使用encoding/xml包來進行xml格式的轉換。其中最常用的是xml.Marshal和xml.Unmarshal兩個函數(shù)。
下面是一個示例:

package main
import (
"encoding/xml"
"fmt"
)
type Person struct {
Name    string `xml:"name"`
Age     int    `xml:"age"`
Address string `xml:"address,omitempty"`
}
func main() {
p1 := Person{Name: "Tom", Age: 20}
xmlStr, err := xml.MarshalIndent(p1, "", "  ")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(xmlStr))
var p2 Person
err = xml.Unmarshal(xmlStr, &p2)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(p2)
}

運行結果:

<Person>
<name>Tom</name>
<age>20</age>
</Person>
{Name:Tom Age:20 Address:}

解析:

上面的代碼定義了一個Person結構體,包含姓名,年齡和地址三個字段。使用xml.Marshal將一個Person結構體轉換為xml字符串,并通過xml.Unmarshal將xml字符串解析為一個Person結構體對象。