Fastjson解析嵌套Map例子
2019独角兽企业重金招聘Python工程师标准>>>
由于在实际工作中使用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"},{"custom":"xt","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
转载于:https://my.oschina.net/u/1027043/blog/732676
Fastjson解析嵌套Map例子相关推荐
- fastjson解析嵌套内部类
平时开发中,可能会遇到调用第三方接口返回json串的情形,有时候数据层级结构太复杂时如果要解析为对象,会需要定义多个.其实没必要,fastjson支持解析嵌套类 public class VideoM ...
- SpringCloud工作笔记047---FastJson解析多级JSON_FastJson解析嵌套JSON_FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
JAVA技术交流QQ群:170933152 解析嵌套json,这里说一下: //下面可以通过解析多级json的方式,获取数据,插入到数据库 //JSONObject userJsonObj = JSO ...
- golang解析嵌套yaml配置(局部解析)
golang中解析yaml配置文件 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Ra ...
- Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)
JSON介绍: JSON:JavaScript对象表示法 JSON是存储和交换文本信息的语法. 特点: JSON是轻量级的文本数据交换格式 JSON独立于语言和平台 JSON具有自我描述性,更易理解 ...
- hive中array嵌套map以及行转列的使用
1. 数据源信息 {"student": {"name":"king","age":11,"sex" ...
- fastjson解析json简介
2019独角兽企业重金招聘Python工程师标准>>> 一.简介 阿里巴巴FastJson是一个Json处理工具包,是一个Java语言编写的高性能功能完善的JSON库.,包括&quo ...
- alibaba 实体转json_com.alibaba.fastjson 转换List Map等对象
原文:http://www.cnblogs.com/goody9807/p/4244862.html 本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBea ...
- Json,Gson,FastJson解析数据比较
String strData="{"trailers":[{"id":64259,"movieName":"<西游 ...
- java map 递归_Java实现递归将嵌套Map里的字段名由驼峰转为下划线
摘要: 使用Java语言递归地将Map里的字段名由驼峰转下划线.通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构. 难度:初级 概述### 在进行多语言混合编程时,由于编程规范的不同, ...
- fastjson解析数据后导致顺序改变问题
开发过程中遇到一个问题,服务器经过排序返回后的字符串数据使用fastjson解析后,数据顺序发生变化,引起业务异常. 解决办法: 1.解析时增加参数不调整顺序 JSONObject respondeB ...
最新文章
- modified: xxx(modified content, untracked content)
- 判断鼠标不在控件上_基础设施:一套基本控件
- “multiprocessing\spawn.py”, line 105, in spawn_main错误与解决方法
- pythonweb好难-(2017)我不建议使用的Python Web框架
- 什么是 PostgreSQL 横向子查询?
- 在R中创建晶须和盒图
- Sharepoint 2013 表单验证四(添加用户到表单验证数据库)
- 基于QT的音视频采集推流实时传输播放数据发布系统 文档+项目源码+答辩PPT
- 选择中医 - 养肾补肾方法
- 使用Docker部署ONLYOFFICE Document Server
- 揭秘华为投资版图:规模小、数量少,刀刀致命
- 深圳赛意信息 怎么样_深圳鹏程整形医院怎么样_全新整形价目表_资质
- 用友NC 如何进行增补模块
- 【NOIP2017】滚粗记
- LSD源代码编译运行
- Pixelmator Pro比肩Photoshop,专业的图像处理软件,是真的吗?
- 微信小程序——生命周期
- MP3歌词的同步与拖拽设计
- 性能优化之MySQL优化(转)
- Objective-C 属性