Czy istnieje sposób konwersji XML ([] bajtów) na wyjście JSON w Golang?Jak przekonwertować [] bajt XML do wyjścia JSON w Golang
Mam poniżej funkcji, gdzie body
jest []byte
, ale chcę przekształcić tę odpowiedź XML na JSON po jakiejś manipulacji. Próbowałem Unmarshal
w xml
pakietu bez powodzenia:
// POST
func (u *UserResource) authenticateUser(request *restful.Request, response *restful.Response) {
App := new(Api)
App.url = "http://api.com/api"
usr := new(User)
err := request.ReadEntity(usr)
if err != nil {
response.AddHeader("Content-Type", "application/json")
response.WriteErrorString(http.StatusInternalServerError, err.Error())
return
}
buf := []byte("<app version=\"1.0\"><request>1111</request></app>")
r, err := http.Post(App.url, "text/plain", bytes.NewBuffer(buf))
if err != nil {
response.AddHeader("Content-Type", "application/json")
response.WriteErrorString(http.StatusInternalServerError, err.Error())
return
}
defer r.Body.Close()
body, err := ioutil.ReadAll(r.Body)
response.AddHeader("Content-Type", "application/json")
response.WriteHeader(http.StatusCreated)
// err = xml.Unmarshal(body, &usr)
// if err != nil {
// fmt.Printf("error: %v", err)
// return
// }
response.Write(body)
// fmt.Print(&usr.userName)
}
Używam również pakiet Go-spokojny
@DewyBroto Włożyłam w odpowiedzi XML –
użycie 'kodowania/xml' i' kodowania/json' za to w prosty sposób, trzeba utworzyć 'struct's mirroring formatu XML odpowiedzi . Są prawdopodobnie sposoby, aby ominąć to używając 'map's, ale ja ich nie znam. – twotwotwo
Kiedy próbuję 'fmt.Print (& usr.userName)' wyprowadza zero do konsoli –