Json里面嵌套Json,以参数的形式获取对应的值

Citron__ 2017-07-13 03:58:46
目前有个比较复杂的Json串,这个Json串里面又嵌套了很多的Json,目前需要写一个函数根据Key获取这个Json串里面对应Value,因为传递的参数是未知的。举个例子:
{
"product": {
"result": "1",
"data": {
"value": "4"
},
"costTime": 15,
"operation": "3"
},
"code": 600000,
"flag": {
"flag_telperiod": 1
},
"swift_number": "3100034_20161221153228_0705",
"exceptions": []
}
有可能这个参数是想要获取value的值,有可能是要获取code的值。由于这个Json十分长,嵌套的Json也比较多,因此刚开始想每个参数进行对比然后使用对应的获取方法的话,代码太臃肿了,各位有什么比较好的方法么。
...全文
795 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_Maxy 版主 2017-07-14
  • 打赏
  • 举报
回复
引用 5 楼 Citron__ 的回复:
[quote=引用 4 楼 oh_Maxy 的回复:] [quote=引用 3 楼 Citron__ 的回复:] [quote=引用 1 楼 oh_Maxy 的回复:] 是json的话,那一定能抽象出对应的类。所谓的嵌套,可能是因为这个类存在类似链表的数据结构。 如果实在不想解析成对象,那就用部分匹配的json工具,或者用正则表达式实现。
我得测试一下,因为对于前台来说一个属性值如果是空的话,前台就不会传这个属性,直接跳过这个属性,不知道这样能不能转换为一个类[/quote] 可以的,就算你所有的字段都为空,都可以转换。[/quote] 恩,刚刚试了下,成功了,十分感谢。还想多问一句一个类怎么根据传入的参数返回对应的属性呢。比如传入一个name参数,就返回this.name。只能自己写对应方法么。[/quote] 试试反射机制。
那年花 2017-07-13
  • 打赏
  • 举报
回复
引用 5 楼 Citron__ 的回复:
[quote=引用 4 楼 oh_Maxy 的回复:] [quote=引用 3 楼 Citron__ 的回复:] [quote=引用 1 楼 oh_Maxy 的回复:] 是json的话,那一定能抽象出对应的类。所谓的嵌套,可能是因为这个类存在类似链表的数据结构。 如果实在不想解析成对象,那就用部分匹配的json工具,或者用正则表达式实现。
我得测试一下,因为对于前台来说一个属性值如果是空的话,前台就不会传这个属性,直接跳过这个属性,不知道这样能不能转换为一个类[/quote] 可以的,就算你所有的字段都为空,都可以转换。[/quote] 恩,刚刚试了下,成功了,十分感谢。还想多问一句一个类怎么根据传入的参数返回对应的属性呢。比如传入一个name参数,就返回this.name。只能自己写对应方法么。[/quote] model都要设置get set方法啊 直接调用get set就可以了
Citron__ 2017-07-13
  • 打赏
  • 举报
回复
引用 4 楼 oh_Maxy 的回复:
[quote=引用 3 楼 Citron__ 的回复:] [quote=引用 1 楼 oh_Maxy 的回复:] 是json的话,那一定能抽象出对应的类。所谓的嵌套,可能是因为这个类存在类似链表的数据结构。 如果实在不想解析成对象,那就用部分匹配的json工具,或者用正则表达式实现。
我得测试一下,因为对于前台来说一个属性值如果是空的话,前台就不会传这个属性,直接跳过这个属性,不知道这样能不能转换为一个类[/quote] 可以的,就算你所有的字段都为空,都可以转换。[/quote] 恩,刚刚试了下,成功了,十分感谢。还想多问一句一个类怎么根据传入的参数返回对应的属性呢。比如传入一个name参数,就返回this.name。只能自己写对应方法么。
oh_Maxy 版主 2017-07-13
  • 打赏
  • 举报
回复
引用 3 楼 Citron__ 的回复:
[quote=引用 1 楼 oh_Maxy 的回复:] 是json的话,那一定能抽象出对应的类。所谓的嵌套,可能是因为这个类存在类似链表的数据结构。 如果实在不想解析成对象,那就用部分匹配的json工具,或者用正则表达式实现。
我得测试一下,因为对于前台来说一个属性值如果是空的话,前台就不会传这个属性,直接跳过这个属性,不知道这样能不能转换为一个类[/quote] 可以的,就算你所有的字段都为空,都可以转换。
Citron__ 2017-07-13
  • 打赏
  • 举报
回复
引用 1 楼 oh_Maxy 的回复:
是json的话,那一定能抽象出对应的类。所谓的嵌套,可能是因为这个类存在类似链表的数据结构。 如果实在不想解析成对象,那就用部分匹配的json工具,或者用正则表达式实现。
我得测试一下,因为对于前台来说一个属性值如果是空的话,前台就不会传这个属性,直接跳过这个属性,不知道这样能不能转换为一个类
minemine0418 2017-07-13
  • 打赏
  • 举报
回复
json传输数据 这个格式不都是约定的么?格式都知道了,取值自然就容易了
oh_Maxy 版主 2017-07-13
  • 打赏
  • 举报
回复
是json的话,那一定能抽象出对应的类。所谓的嵌套,可能是因为这个类存在类似链表的数据结构。 如果实在不想解析成对象,那就用部分匹配的json工具,或者用正则表达式实现。

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧