快捷搜索:  汽车  科技

jsonobject获取key值(小技巧遍历JSON串儿之未知key-value)

jsonobject获取key值(小技巧遍历JSON串儿之未知key-value)"b3800107689d7309dc1fc0ae7e22b27d329986dc1d1da11a2efff4b8168ee2fa.png": "申请人身份证.png" "files": {在网上搜索会发现很多例子,但是都不写是具体是哪个包里面的类,所以引用起来就有点费解。这里我们抽两个例子来遍历:Json串为:{

前言:

有时候json串里面我们并不知道它的key是什么,甚至都不知道有多少key,这个时候我们又想打印出所有的key-value对,因此就需要用到迭代输出。


正文:

采用迭代的方式,遍历JSON中所有的KEY。

在网上搜索会发现很多例子,但是都不写是具体是哪个包里面的类,所以引用起来就有点费解。这里我们抽两个例子来遍历:

Json串为:

{

"files": {

"b3800107689d7309dc1fc0ae7e22b27d329986dc1d1da11a2efff4b8168ee2fa.png": "申请人身份证.png"

"5f4d3ef75df1e46af8231e37eaac7747ab5f77e4e20431487707d0ecf10d248a.png": "申请人工作证明.png"

"477b7c7fde5e2d87386fd400c80a60f3dd696af3d53b2a2d64e228ba0914a78e.png": "车辆登记本.png"

"032795fc5ab793c1862038a3d9164e5e2ce9147071501f80063c47f67e799394.jpg": "申请人征信授权书.jpg"

}

}

方法一:用net.sf.json.JSONObject遍历

第一步导入maven包依赖:

<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> </dependency>

第二步main方式测试:

public static void main(String[]args){ String oriJsonStr="{\n" " \"files\": {\n" " \"b3800107689d7309dc1fc0ae7e22b27d329986dc1d1da11a2efff4b8168ee2fa.png\": \"申请人身份证.png\" \n" " \"5f4d3ef75df1e46af8231e37eaac7747ab5f77e4e20431487707d0ecf10d248a.png\": \"申请人工作证明.png\" \n" " \"477b7c7fde5e2d87386fd400c80a60f3dd696af3d53b2a2d64e228ba0914a78e.png\": \"车辆登记本.png\" \n" " \"032795fc5ab793c1862038a3d9164e5e2ce9147071501f80063c47f67e799394.jpg\": \"申请人征信授权书.jpg\"\n" " }\n" "}"; JSONObject maleArray = JSONObject.fromObject(oriJsonStr); JSONObject files = maleArray.getJSONObject("files"); Iterator<String> male_Iterator = files.keys(); male_Iterator.forEachRemaining(key-> System.out.println(key "-" files.get(key))); }

输出结果图一:

jsonobject获取key值(小技巧遍历JSON串儿之未知key-value)(1)

net.sf.json.JSONObject

方法二:用com.alibaba.fastjson.JSONObject

第一步导入maven包依赖:

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.51</version> </dependency>

第二步main方式测试:

public static void main(String[]args){ String s="{\n" " \"files\": {\n" " \"b3800107689d7309dc1fc0ae7e22b27d329986dc1d1da11a2efff4b8168ee2fa.png\": \"申请人身份证.png\" \n" " \"5f4d3ef75df1e46af8231e37eaac7747ab5f77e4e20431487707d0ecf10d248a.png\": \"申请人工作证明.png\" \n" " \"477b7c7fde5e2d87386fd400c80a60f3dd696af3d53b2a2d64e228ba0914a78e.png\": \"车辆登记本.png\" \n" " \"032795fc5ab793c1862038a3d9164e5e2ce9147071501f80063c47f67e799394.jpg\": \"申请人征信授权书.jpg\"\n" " }\n" "}"; JSONObject jsonObject = JSONObject.parseObject(s); JSONObject files1 = jsonObject.getJSONObject("files"); Set<String> strings = files1.keySet(); strings.forEach(key-> System.err.println(key "-" files1.get(key))); }

输出结果图二:

jsonobject获取key值(小技巧遍历JSON串儿之未知key-value)(2)

com.alibaba.fastjson.JSONObject


还有很多JSONObject的包,都是如出一辙,希望大家多多探讨,所谓艺多不压身,多学点总是好的,坚持学习,每天进步一点点。

猜您喜欢: