JSON Unmarshal结构区分大小写

时间:2018-02-27 10:09:30

标签: json go unmarshalling

有没有办法让json.Unmarshal 接受不区分大小写的匹配?我收到一个带有标签的JSON,例如" e"和" E"并且想要用标签" e"来解组对象。但是忽略那个带有" E"。现在我发现的唯一解决方案是定义一个包含两个标签的结构,然后简单地忽略标签" E",但我正在寻找更清洁的解决方案。

来自官方文件:

  

要将JSON解组为结构,Unmarshal会将传入的对象键与Marshal使用的键(结构字段名称或其标记)匹配,更喜欢完全匹配,但也接受不区分大小写的匹配。

1 个答案:

答案 0 :(得分:5)

不幸的是,这不是标准json库当前支持的东西。

根据https://golang.org/pkg/encoding/json/#Unmarshal

  

Unmarshal将传入的对象键与Marshal使用的键(结构字段名称或其标记)匹配,更喜欢精确匹配,但也接受不区分大小写的匹配

无法关闭此行为。