Java GSON能否以不区分大小写的方式反序列化

Java GSON能否以不区分大小写的方式反序列化,java,json,gson,Java,Json,Gson,在.NET桌面应用程序和Java服务器之间的通信原型中,使用REST和JSON帖子,我遇到了一个区分大小写的问题。.NET对象在Pascal大小写中有三个属性(这是.NET的常规格式),例如:Symbol、EntryValue(等等),而同一对象的Java表示使用驼峰大小写,例如Symbol、EntryValue 服务器接收的json值为: {"EntrySize":100,"Symbol":"AMZN"} 但Gson不会以不区分大小写的方式进行反序列化。有没有办法让格森这么做 在上使用,以获

在.NET桌面应用程序和Java服务器之间的通信原型中,使用REST和JSON帖子,我遇到了一个区分大小写的问题。.NET对象在Pascal大小写中有三个属性(这是.NET的常规格式),例如:
Symbol、EntryValue
(等等),而同一对象的Java表示使用驼峰大小写,例如
Symbol、EntryValue

服务器接收的json值为:

{"EntrySize":100,"Symbol":"AMZN"}
但Gson不会以不区分大小写的方式进行反序列化。有没有办法让格森这么做

在上使用,以获取您的
Gson
对象。你的似乎很相配


对于任何例外情况,请使用注释对类字段进行注释。

Awesome!这是很容易修复使用上_驼峰_情况的政策。我们在文件里找到这个了吗?在我急于测试这一点的过程中,我无法完全阅读文档,快速搜索也没有像您那样清楚地指出答案。谢谢@山姆,在报纸的最下面一页。请确保浏览GsonBuilder以查看Gson支持的所有配置@Jeff Bowman这实际上不是一个有效的解决方案,因为它不匹配不区分大小写。它只匹配SerializedName中定义的内容,或者它以驼峰大小写样式的大号字母开头。如果有一个json以小写字母开头(没有SerializedName注释),它将不匹配。@Bevor:我同意这不是一个解决所有不区分大小写请求的通用方法,这会变得很棘手。如果在同一个JSON对象中有
entrysize
entrysize
entrysize
,该怎么办?哪个赢了?但是,它确实允许OP做他们想做的事情,也就是让服务器上的低骆驼命名与客户端上的高骆驼命名协同工作,而且似乎即使在有限的范围内,社区也发现答案很有用。另请参阅本文:
Gson gson = new GsonBuilder()
        .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
        .create();