跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Java 有成熟的框架 获取嵌套多层对象的所有属性对象吗?
未分類
7 9 月 2020

Java 有成熟的框架 获取嵌套多层对象的所有属性对象吗?

Java 有成熟的框架 获取嵌套多层对象的所有属性对象吗?

資深大佬 : ffw5b7 0

如题,比如 如何自动将一个对象的所有数学属性 大于 1000 的 转换为 xx.x 万。

个人想法是
1.递归拿所有属性对象,判断属性类型是否是 int 之类的,再判断是否大于 1w,截取小数。
问题:
如果有其他的数学属性不需要转换,这样也转了,不行,

2. 加个判断,属性名规范 只有属性名 A 的才转换、

延伸问题,有成熟的工具类吗? 这样性能怎么? 如果这样实现还有其他坑吗?

在下,小白搜不到类似的,厚脸皮伸手了

大佬有話說 (9)

  • 主 資深大佬 : ffw5b7

    不想从数据源写 sql 的时候主观直接处理了,
    或者说还有类似的需求不是转换,
    目的是如题:获取嵌套多层对象的所有属性对象

  • 資深大佬 : lychs1998

    不明白这样的应用场景是什么。数值的优势就在于可进行算数运算,转换为 x.xx 万后应该就只剩下了显示作用。而显示什么样子,应该让前端处理。接口下发 x.xx 万的数据还会恶心到前端,前端做数据判断还需要去转换为数值?
    后端如果需要用到 x.xx 万这样的数据,那就自己写个 get 方法给需要的属性做转换就行了。

  • 主 資深大佬 : ffw5b7

    @lychs1998 给前端的数据 都是显示数据,前端只要渲染。 后端想在代码中自动处理了。

  • 資深大佬 : lychs1998

    如果是获得嵌套多层属性对象这个单一需要的话,就是数据结构的事情了,把树形结构转化为数组或者单层树形结构。
    我之前写过一个方法是解析 json 的。嵌套 n 层的数据也可以通过 a.b.c[1].d 这样的 key 值获取,同时可以用 map 的 entryset 遍历。本质上就是数据结构的转换。

  • 資深大佬 : lychs1998

    @ffw5b7 我个人很讨厌后端过度封装数据。比如时间,我更希望传递我时间戳。数值的显示转换对我来说只是对 text 做一个修改,value 还是数值,这样子我前端计算会方便很多。

  • 主 資深大佬 : ffw5b7

    @lychs1998 划分职责的原理还是不懂,前端不擅长处理复杂的业务判断? 或是是性能?客户端性能优先? 数据结构的问题,之前参考 fastJson,深拷贝,有点吃力,就想搜搜 copy 。哈哈哈

  • 資深大佬 : lychs1998

    获得嵌套对象所有属性值参考我之前写过的这个类(写的比较烂): https://github.com/lychs1998/CatMock/blob/master/src/main/java/cn/myzju/mock/CatContainer.java

    但不要引入我写的这个依赖,我设计的时候是为后端 mock 框架填入值设计的,所以只考虑了解析,没考虑还原对象。而且同个包下的 CatMock 对象更是会引入 js 文件和 graalvm 。

    一个思路:把 json 转化为 jsonString,然后对需要转换的字段直接处理,最后把处理了的 jsonString 用 jackson 转换为对象。

  • 資深大佬 : Cbdy

    自己手写一下也就十几二十行代码,没有必要找现成的库吧

  • 資深大佬 : napsterwu

    手写一下基本都是 split(‘.’)迭代一下,再处理一下 edge case,没几行代码。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具