java中拆分一个嵌套型的Json数据结构如何拆分?

做oa审批中,前端发过来的一个嵌套型的json字符串,里面嵌套了多层对象,我需要给他将每一个对象拆分出来写进数据库中,有没有简便的方法 ,请教一下,谢谢了!

先用JSON格式化工具格式下.然后按照情况解析就好了

使用 fastJson 或者 Gson 组件进行 Json 字符串的解析操作。
两种方案:

  1. 事先针对 Json 的嵌套(包含)关系,建立 JavaBean (各种存放数据的类),然后,使用上述组件,直接将 Json 字符串转换成对象。
  2. 直接解析成含有 Key-Value 关系的对象,上述组件中都有 JsonObject 对象,然后,取出对应的值,进行后续处理。

上数据.看看嵌套多少

{"error":true,"childNode":{"nodeName":"审核人","error":false,"type":1,"examineMode":"1","nodeUserType":{"type":"manager","value":"主管","valueList":[],"valueName":""},"childNode":{"nodeName":"路由","type":4,"childNode":{"nodeName":"抄送人","error":false,"type":1,"nodeUserType":{"type":"role","value":"1,2","valueName":"admin,Anna","valueList":["1","2"]},"examineMode":"2","childNode":null},"conditionNodes":[{"nodeName":"条件1","error":false,"type":3,"priorityLevel":1,"conditionList":[{"conditionChildrenNodes":[{"conditionOperator":"","leftFileds":"adress","centerFileds":"=","rightFileds":"1","leftFiledsName":"地址"}],"conditionGroupOperator":""}],"childNode":{"nodeName":"审核人","error":false,"type":1,"examineMode":"1","nodeUserType":{"type":"manager","value":"主管","valueList":[],"valueName":""},"childNode":null},"conditionString":"adress=1","conditionStringName":"地址=1"},{"nodeName":"默认","error":false,"type":3,"priorityLevel":2,"conditionList":[],"childNode":null,"conditionString":"","conditionStringName":""}]}}}

img


我用fastjson
每个{}都是 JSONObject,内部的就是.getXxx类型("name")取值.get可设置不同类型, []就是JSONArray.

像这种数据建议使用 jackson 来处理 然后 把元素定义为对象处理