网站建设流程步骤,做婚纱网站的图片素材,企业网站做百度排名要怎么做,店群智能营销管理系统一.简介
今天同事有个需求#xff0c;要把一个JSON字符串转换成一个树结构的数据并获取节点数据#xff0c;鉴于自己不想写递归去转换#xff0c;于是使用ObjectMapper和JsonNode类去实现。
二.依赖
pom文件引入依赖#xff1a;
dependencygroupIdcom.…一.简介
今天同事有个需求要把一个JSON字符串转换成一个树结构的数据并获取节点数据鉴于自己不想写递归去转换于是使用ObjectMapper和JsonNode类去实现。
二.依赖
pom文件引入依赖
dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion2.9.6/version
/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-annotations/artifactIdversion2.9.6/version
/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.6/version
/dependency
三.JSON字符串数据如下
{id:1,name:科技部门,parentId:root,children:{id:2,name:研发部门,parentId:1,children:{id:3,name:后端部门,parentId:2,children:null}}
}四.代码如下
public static void main(String[] args) {String json {\n \id\:\1\,\n \name\:\科技部门\,\n \parentId\:\root\,\n \children\:{\n \id\:\2\,\n \name\:\研发部门\,\n \parentId\:\1\,\n \children\:{\n \id\:\3\,\n \name\:\后端部门\,\n \parentId\:\2\,\n \children\:null \n } \n } \n };try{ObjectMapper objectMapper new ObjectMapper();JsonNode readTree objectMapper.readTree(json);System.out.println(readTree);}catch (Exception e){e.printStackTrace();}}运行结果如下
通过get(fieldName)方法获取节点数据
五.额外补充
1、jackson通过get(“字段名”)api方法获取JsonNode对象时如果该字段不存在返回null
2、如果json数据的某个字段值是基本类型非object、array可以使用jackson提供的asText、textValueasInt、intValue…等方法来获取字段的值如果字段值是复杂类型那么上述方法将失效可以使用toString()、toPrettyString()方法打印值。
3、对于字段值是基本类型的数据如果是String类型用 asText() 和 textValue() 获取的结果是一致的同理如果是int类型用asInt()、intValue()获取的结果也是一致的
4、asText()和textValue()方法都是获取字段是String基本类型的数据区别是
asText()会进行强转如果字段值不是string基本类型数据会将其转成String基本类型的数据如果是复杂类型返回空字符串 textValue()只针对String基本类型数据所以如果字段值是非String基本类型数据则返回null 同理asInt()和intValue()方法也是一样的
asInt()会进行强转比如字符串类型的数字转成数字如果强转失败比如字符串abc返回0如果是复杂类型返回0 intValue()只针对int节本类型数据对于非int基本类型数据intValue返回0
《肖申克的救赎》
生命可以归结为一种简单的选择要么忙于生存要么赶着去死。
懦怯囚禁人的灵魂希望可以感受自由。强者自救圣者渡人。
希望是件美丽的东西也许是最好的东西。美好的东西是永远不会死的。
每个人都是自己的上帝。如果你自己都放弃自己了还有谁会救你
《熔炉》
我们一路奋战不是为了能改变世界而是为了不让世界改变我们。
现实如水母看似美好无害实质总是致命伤人。
我们来到世界上都是孤独的旅行即使身边有人相伴最终也会各奔东西!
世界上最美丽最珍贵的反而是听不见且看不清的只有用心才能感受得到。
《教父》
人可以不断犯错但绝不能犯要命的错。
不要憎恨你的敌人那会影响你的判断力。
人并非生来就伟大而是越活越伟大。
《活着》
人是为了活着本身而活着而不是为了活着之外的任何事物而活着。
以笑的方式哭在死亡的伴随下活着。
没有什么比时间更具有说服力了因为时间无需通知我们就可以改变一切。
你的命是爹娘给的你不要命了也得先去问问他们。
《我不是药神》
世界上只有一种病穷病这种病你没法治你也治不过来。
人间最高贵的是善良是对生命的致敬。
《指环王》
把手握紧里面什么也没有把手放开你得到的是一切。
我宁愿和你共度凡人短暂的一生也不愿一个人看尽这世界的沧海桑田。
20.幸福的家庭都是相似的不幸的家庭各有各的不幸。
或许有一天人类变得萎缩懦弱舍弃朋友断绝友谊但今天决不会这样。 《饮食男女》
22.人生不能像做菜把所有的材料都准备好了才下锅。
什么叫做“可惜”啊要心中有个“惜”字儿才知道可惜。
其实一家人住在一个屋檐下照样可以各过各的日子可是从心里产生的那种顾忌才是一个家之所以为家的意义。
《让子弹飞》
世界上本没有路有了腿便有了路。
如果你活着早晚都会死如果你死了你就永远活着。
赚钱嘛不寒碜