有没有办法让json.Unmarshal 不接受不区分大小写的匹配?我收到一个带有标签的JSON,例如" e"和" E"并且想要用标签" e"来解组对象。但是忽略那个带有" E"。现在我发现的唯一解决方案是定义一个包含两个标签的结构,然后简单地忽略标签" E",但我正在寻找更清洁的解决方案。
来自官方文件:
要将JSON解组为结构,Unmarshal会将传入的对象键与Marshal使用的键(结构字段名称或其标记)匹配,更喜欢完全匹配,但也接受不区分大小写的匹配。
答案 0 :(得分:5)
不幸的是,这不是标准json库当前支持的东西。
根据https://golang.org/pkg/encoding/json/#Unmarshal
Unmarshal将传入的对象键与Marshal使用的键(结构字段名称或其标记)匹配,更喜欢精确匹配,但也接受不区分大小写的匹配
无法关闭此行为。