JSON和XML是兩種廣泛使用的數據交換格式。盡管它們的語法和內部結構不同,但它們都可以用于在不同的應用程序之間傳輸數據。
在Go語言中,我們可以使用encoding/json包和encoding/xml包來將JSON和XML表示法之間進行轉換。
// JSON to XML package main import ( "encoding/json" "encoding/xml" "fmt" ) type Person struct { Name string Age int } func main() { p := Person{"Tom", 30} // 將Person對象編碼為JSON格式 jsonBytes, err := json.Marshal(p) if err != nil { fmt.Println(err) return } // 將JSON格式的數據解析為XML格式 var xmlBytes []byte err = xml.Unmarshal(jsonBytes, &xmlBytes) if err != nil { fmt.Println(err) return } fmt.Println(string(xmlBytes)) }
在以上代碼中,我們先定義了一個名為Person的結構體,表示一個人的姓名和年齡。然后我們將這個結構體編碼為JSON格式,并將結果保存到jsonBytes變量中。接著我們使用xml.Unmarshal函數將jsonBytes解析為XML格式,并將結果保存到xmlBytes變量中。最后我們打印xmlBytes的內容。
這個程序的輸出結果為:
<Person><Name>Tom</Name><Age>30</Age></Person>
我們可以看出,XML格式的數據已經成功地從JSON格式的數據中解析出來了。類似地,我們也可以使用encoding/xml包和encoding/json包將XML格式的數據轉換為JSON格式的數據。