2
回答
ModelBulider中放入Model的字段名全部会转换成大写,这个可不可以控制?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
通过ModelBuilder的build方法中的attrs.put(labelNames[i], value);放入的字段名全部会转换为大写,直接导致Model转换的Json串中的key也全部是大写,这个有没有办法处理
举报
xianglc5474
发帖于5年前 2回/214阅

以下是问题补充:

  • @xianglc5474 :刚发现这是因为我在ActiveRecord里配置了大小写不敏感容器工厂的结果,这个功能我是需要的。当我以JSON的方式传递Model时能不能忽略这个配置呢 (5年前)
共有2个答案 最后回答: 5年前

    ActiveRecordPlugin提供的 CaseInsensitiveContainerFactory 会自动将小写转大写,或者将大写转成小写,JDK有个大小写不敏感容器类也是这么实现的。

    ModelBuilder中生成的属性放入Map后已然是转换后的了,所以后面的JsonKit对此无能为力了。或许可以通过改造CaseInsensitiveContainerFactory 实现方式来达到目的,代码量会有所增加。或许也可以绕过这个问题在CaseInsensitiveContainerFactory 中再存一次原始的属性名。

CaseInsensitiveContainerFactory 中再存一次原始的属性名。你是指将原始属性名和转换后的属性名都放入Map吗?
--- 共有 2 条评论 ---
xianglc5474有些思路了,谢谢 5年前 回复
JFinal将原始字段名存在额外的对象中,以便在需要的时候得到这些原始的字段名。或者针对于 JsonKit专门重写个map,在遍历map的时候读取到的是原始的字段名,详情请看JsonKit第 53 行 5年前 回复
顶部