当前位置: 首页 > 知识库问答 >
问题:

如何从http POST请求中不敏感地映射JSON大小写

宇文俊风
2023-03-14

我使用超文本传输协议发布请求与JSON得到我的网络服务的请求。我的问题是我希望JSON参数不区分大小写,以便用户可以输入大写或小写的参数。

有什么方法可以实现这一点,而不是对所有参数使用不同的setter,比如在这个链接中,不区分大小写的JSON到POJO映射,而不更改POJO

以下是我的pojo示例

public class SamplePojo implements Serializable
{
    String name;
    String mobileNo;
    String address;
}

这是我的网络服务

@RequestMapping(value = "/send", 
    method = RequestMethod.POST, 
    consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String trackSMSPost (@RequestBody SamplePojo sample) 
{
    process(sample);
    return "true";
}

有没有一种方法来获得Web服务的请求,即使参数名称都是大写或小写或大写。

共有2个答案

葛烨
2023-03-14

JSON是区分大小写的。
替代
你可以接受请求为字符串,并使其成为UpperCase[只有当数据是任何数字值时才有效]:-)kirti mandwade

房时铭
2023-03-14

根据JSON-RPC规范

所有名称等都区分大小写。因此,一致性实现必须将所有名称视为区分大小写的,例如名称“bar”和“bar”将被视为两个不同的实体。

所以,基本上,约定要求所有名称都区分大小写,如果您真的需要区分大小写,那么您唯一的选择就是肮脏的技巧(例如,实现getter setter)。

 类似资料:
  • 在执行MySQL 数据库给数据表改名时,发现报错,如下: 从提示中可以看出 blog_comment,表已经存在,可登录 MySQL 客户端查看数据表,并没有看到这张表。 提示中所说目标表并不存在。手动执行改名SQLRENAME TABLE blog_Comment TO blog_comment;,报同样错误:Table 'blog_comment' already exists。 从网上找一些

  • 问题内容: 这是我的mysql表的架构,即时通讯使用mysql 5 需要敏感的UNIQUE KEY大小写, 它应该允许输入类似(’a’,0)&(’A’,0)的值 尝试将排序规则更改为latin_1和latin_generic_ci 问题答案: 最简单的是在DDL语句上添加, SQLFiddle演示

  • 问题内容: 默认情况下,django的url解算器似乎执行区分大小写的搜索来解析url,并区分’/ Login’和’login’。我的网址格式如下。 谁能指导我,如何使Django URL不区分大小写? 问题答案: 只需放在每个字符串的开头,即: 告诉每个RE不区分大小写地匹配

  • 问题内容: 我正在尝试考虑在PHP中实现不区分大小写的file_exists函数的最快方法。我最好的选择是枚举目录中的文件,并进行strtolower()与strtolower()的比较直到找到匹配项? 问题答案: 我使用注释中的源代码来创建此功能。返回完整路径文件(如果找到),否则返回FALSE。 在文件名中的目录名称上不区分大小写。

  • 除了 Java 类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hibernate.eg.Foo 并且 foo.barSet 也不等价于 foo.BARSET。 本手册中的 HQL 关键字将使用小写字母。很多用户发现使用完全大写的关键字会使查询语句的可读性更强,但我

  • 我不清楚jackson是如何处理映射字段中的大写字母的。如果有人能帮忙,我将不胜感激。 上面是我的json,下面是我的例外。。。 上面是我的例外,下面是我的班级。。。 ... 等等