为了账号安全,请及时绑定邮箱和手机立即绑定

无法解组值中有空格的负载

无法解组值中有空格的负载

Go
交互式爱情 2021-06-10 18:09:45
我正在使用 Golang 读取 XML 响应。我无法正确读取带有空格的值。这是一个要点:https : //gist.github.com/anonymous/5825288有没有办法让 xml.Unmarshal 从中修剪值<result>,然后将其视为 int?IE<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.
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

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


如果您将代码更改为:


err:= xml.Unmarshal([]byte(payload), &mt)

if err != nil {

  fmt.Println(err)

}

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


查看完整回答
反对 回复 2021-06-21
  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信