统一格式下某一字段实体类型不确定

问题1:统一格式下某一字段实体类型不确定如何解决,类似下图(push_info字段本质上他的值为String字符串,但该字符串实际上是想表达一种实体类型,但具体该实体中有哪些字段属性不确定)

图 1.1 整体json数据


图1.2 变动的字段

基本思想:

将不确定字段的内容作为键值对形式,类似map集合,进行分装,使用的时候由键获取值进行对应操作。

方法一:

1.将该整体json数据解析,类似下图


图 2.1


图 2.2


图 2.3


图 2.4 分装获取键值list的方法
图 2.5 


图 2.6 获取list后的使用

思考:Bean对象中的mPush属性的类型是JSONObject,可以替换成HashMap,这样就不用提供获取属性list的方法(getPushInfoList()方法)。


图 2.7


图 2.8

方法二:

基本思想:根据pushcode区分不同类型的实体,首先创建好学要的实体模板,然后根据pushcode的值,用json解析时放入对应的模板.class;(模板数量过多,不利于维护,冗余代码过多,相对上一种方法不灵活,新增push_info数据格式,就要添加对应的实体模板;优点是,在push_info中可以放更复杂的json串,不限于键值对,可嵌套jsonarray等)。

疑问?:

有没有办法不进行两次解析,类似下图,不用第二次对push_info在进行解析,对push_info的解析可不可以分装在bean中一次完成,或者别的方式???

图 3.1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,974评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 有事记 有哪些占用了大块时间的事情;对过去有交代的事情;对将来有提醒的事情? 信息流 看看这一天的输入输出情况怎样...
    贝贝快点儿阅读 219评论 0 0
  • 无戒365天极限挑战营 第7天 幼儿园篇 幼儿园的年纪,我给孩子选择了小区里的双语幼儿园,这个学校的教学是宽松的,...
    温润如玉如你阅读 167评论 2 2