XML和JSON都是常用的數據格式,但是它們有不同的優缺點和使用場景。XML通常用于配置文件和文檔格式,而JSON則更適合用于數據傳輸和API中。
在Golang中,我們可以很方便地將XML轉換成JSON。這需要使用encoding/json和encoding/xml包。
import (
"encoding/json"
"encoding/xml"
"fmt"
)
type Person struct {
Name string `xml:"name"`
Age int `xml:"age"`
City string `xml:"address>city"`
}
func main() {
xmlData := `<person><name>John Doe</name><age>35</age><address><city>New York</city></address></person>`
var person Person
xml.Unmarshal([]byte(xmlData), &person)
jsonData, _ := json.Marshal(person)
fmt.Println(string(jsonData))
}
在這個例子中,我們首先定義了一個Person結構體,其包括名稱、年齡和地址。 注意,每個字段的xml標簽都指定了它們在XML中的名稱。
我們然后將XML數據傳遞給xml.Unmarshal()函數,并將person結構體傳遞給它,以便它可以將XML解碼為結構體的字段。 最后,json.Marshal()函數將person結構體轉換為JSON字符串。
這樣,我們就可以將XML數據轉換為JSON格式,并在Golang中對其進行處理。