gpt4 book ai didi

go - 无法解码值中包含空格的负载

转载 作者:IT王子 更新时间:2023-10-29 02:30:30 26 4
gpt4 key购买 nike

我正在使用 Golang 读取 XML 响应。我无法正确读取带空格的值。

这是一个要点:https://gist.github.com/anonymous/5825288

有没有办法让 xml.Unmarshal 修剪 <result> 中的值?然后把它当作一个整数?

<result>1<result> // no spaces, is marshalled correctly.  The resulting value in the struct is 1

但是

<result> 1 </result>  // with spaces, is marshalled incorrectly as an int.  The resulting value in the struct for result is 0.

最佳答案

即使在 xml 中,“1”也是一个字符串而不是一个 int,解析器无法将此字符串解析为 int。所以 0 只是默认的 int 值,

如果您将代码更改为:

err:= xml.Unmarshal([]byte(payload), &mt)
if err != nil {
fmt.Println(err)
}

你会看到解析的时候出错了如果您的 xml 可以将“1 ”作为值,我建议在您的结构中使用一个字符串。或者,如果有机会,告诉 xml 的创建者只使用 int 而不是字符串,其中需要 int

关于go - 无法解码值中包含空格的负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com