在Golang中,我們常常需要將XML數據轉換成JSON格式。幸運的是,Go語言自帶了一個"encoding/json"
包來處理JSON數據,同時也有一個"encoding/xml"
的包用于處理XML數據。我們可以通過將XML數據解析為Golang結構體,然后再使用"encoding/json"
包將結構體轉換為JSON格式。
package main
import (
"encoding/json"
"encoding/xml"
"fmt"
"strings"
)
type Person struct {
Name string `xml:"name"`
Age int `xml:"age"`
Email string `xml:"email"`
}
func main() {
xmlData := `<person><name>Alice</name><age>25</age><email>alice@example.com</email></person>`
xmlData = strings.ReplaceAll(xmlData, "<", "<")
xmlData = strings.ReplaceAll(xmlData, ">", ">")
xmlData = strings.ReplaceAll(xmlData, "&", "&")
var person Person
err := xml.Unmarshal([]byte(xmlData), &person)
if err != nil {
fmt.Println("Error: ", err)
return
}
jsonData, err := json.Marshal(person)
if err != nil {
fmt.Println("Error: ", err)
return
}
fmt.Println(string(jsonData))
}
在這個例子中,我們定義了一個Person
結構體來存儲XML數據。結構體的字段使用"xml"
標記來指定XML格式的標記名。接著我們讀入XML數據并將其解析到Person
結構體中。最后,我們將結構體轉換為JSON格式輸出。
上一篇vue對數據匯總