Fastjson解析嵌套Map例子
发布时间:2020-12-16 19:33:53 所属栏目:百科 来源:网络整理
导读:由于在实际工作中使用fastjson解析嵌套map的场景非常多,所以在此备忘一下: 引入阿里的fastjson的pom: dependency groupIdcom.alibaba/groupId artifactIdfastjson/artifactId version1.2.15/version/dependency 一个比较复杂的json例子: { "actId": "180
由于在实际工作中使用fastjson解析嵌套map的场景非常多,所以在此备忘一下: 引入阿里的fastjson的pom: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency> 一个比较复杂的json例子: { "actId": "1800025","originCode": 1,"role": "TEACHER","time": 1471077017804,"userId": "1111","userName": "测试教师","userIcon": "xyz","userIp": "1.1.1.1","countyId": "370105","countyName": "天桥区","schoolId": "1234","schoolName": "测试小学","data": { "subjectId": "020","subjectName": "数学","uploadFileList": [ { "teachFileType": "1","custom": "xtz" },{ "teachFileType": "1" } ] } } 使用fastjson的解析代码: import com.alibaba.fastjson.JSON; import java.util.List; import java.util.Map; /** * Created by Administrator on 2016/8/12. */ public class ParserJson { /*** * * @param map 需要打印的Map结构 */ public static void showMap(Map<String,Object> map){ for(Map.Entry<String,Object> kv:map.entrySet()){ System.out.println(kv.getKey()+" "+kv.getValue()); } } public static void main(String[] args) throws Exception { String json="{"actId":"2300003","originCode":1,"role":"TEACHER"" + ","time":1470126407000,"userId":"1111","userName":"测试教师","userIcon":"xyz","userIp":"1.1.1.1","countyId":"370105","countyName":"天桥区","schoolId":"1234","schoolName":"测试小学","data":{"subjectId":"020","subjectName":"数学"," + ""uploadFileList":[{"teachFileType":"1"},{"teachFileType":"1","custom":"xt"},{"teachFileType":"1"}]}}"; Map<String,Object> map=(Map)JSON.parse(json); System.out.println("打印第一层map"); showMap(map); Map<String,Object> dataMap=(Map<String,Object>) map.get("data"); System.out.println("打印第二层map"); showMap(dataMap); System.out.println("打印第三层list+map"); List<Map<String,Object>> fileList= (List<Map<String,Object>>) dataMap.get("uploadFileList"); for(Map<String,Object> soj:fileList){ System.out.println(soj); Map<String,Object> detailData=soj; showMap(detailData); System.out.println("----------------------------------------"); } } } 解析结果: ParserJson 打印第一层map role TEACHER data {"uploadFileList":[{"teachFileType":"1"},{"custom":"xt","teachFileType":"1"},{"teachFileType":"1"}],"subjectId":"020","subjectName":"数学"} actId 2300003 userName 测试教师 userId 1111 countyId 370105 schoolId 1234 userIp 1.1.1.1 originCode 1 time 1470126407000 userIcon xyz schoolName 测试小学 countyName 天桥区 打印第二层map uploadFileList [{"teachFileType":"1"},{"teachFileType":"1"}] subjectId 020 subjectName 数学 打印第三层list+map {"teachFileType":"1"} teachFileType 1 ---------------------------------------- {"custom":"xt","teachFileType":"1"} custom xt teachFileType 1 ---------------------------------------- {"teachFileType":"1"} teachFileType 1 ---------------------------------------- Process finished with exit code 0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |