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例子相关推荐

  1. fastjson解析嵌套内部类

    平时开发中,可能会遇到调用第三方接口返回json串的情形,有时候数据层级结构太复杂时如果要解析为对象,会需要定义多个.其实没必要,fastjson支持解析嵌套类 public class VideoM ...

  2. SpringCloud工作笔记047---FastJson解析多级JSON_FastJson解析嵌套JSON_FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

    JAVA技术交流QQ群:170933152 解析嵌套json,这里说一下: //下面可以通过解析多级json的方式,获取数据,插入到数据库 //JSONObject userJsonObj = JSO ...

  3. golang解析嵌套yaml配置(局部解析)

    golang中解析yaml配置文件 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Ra ...

  4. Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)

    JSON介绍: JSON:JavaScript对象表示法 JSON是存储和交换文本信息的语法. 特点: JSON是轻量级的文本数据交换格式 JSON独立于语言和平台 JSON具有自我描述性,更易理解 ...

  5. hive中array嵌套map以及行转列的使用

    1. 数据源信息 {"student": {"name":"king","age":11,"sex" ...

  6. fastjson解析json简介

    2019独角兽企业重金招聘Python工程师标准>>> 一.简介 阿里巴巴FastJson是一个Json处理工具包,是一个Java语言编写的高性能功能完善的JSON库.,包括&quo ...

  7. alibaba 实体转json_com.alibaba.fastjson 转换List Map等对象

    原文:http://www.cnblogs.com/goody9807/p/4244862.html 本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBea ...

  8. Json,Gson,FastJson解析数据比较

    String strData="{"trailers":[{"id":64259,"movieName":"<西游 ...

  9. java map 递归_Java实现递归将嵌套Map里的字段名由驼峰转为下划线

    摘要: 使用Java语言递归地将Map里的字段名由驼峰转下划线.通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构. 难度:初级 概述### 在进行多语言混合编程时,由于编程规范的不同, ...

  10. fastjson解析数据后导致顺序改变问题

    开发过程中遇到一个问题,服务器经过排序返回后的字符串数据使用fastjson解析后,数据顺序发生变化,引起业务异常. 解决办法: 1.解析时增加参数不调整顺序 JSONObject respondeB ...

最新文章

  1. modified: xxx(modified content, untracked content)
  2. 判断鼠标不在控件上_基础设施:一套基本控件
  3. “multiprocessing\spawn.py”, line 105, in spawn_main错误与解决方法
  4. pythonweb好难-(2017)我不建议使用的Python Web框架
  5. 什么是 PostgreSQL 横向子查询?
  6. 在R中创建晶须和盒图
  7. Sharepoint 2013 表单验证四(添加用户到表单验证数据库)
  8. 基于QT的音视频采集推流实时传输播放数据发布系统 文档+项目源码+答辩PPT
  9. 选择中医 - 养肾补肾方法
  10. 使用Docker部署ONLYOFFICE Document Server
  11. 揭秘华为投资版图:规模小、数量少,刀刀致命
  12. 深圳赛意信息 怎么样_深圳鹏程整形医院怎么样_全新整形价目表_资质
  13. 用友NC 如何进行增补模块
  14. 【NOIP2017】滚粗记
  15. LSD源代码编译运行
  16. Pixelmator Pro比肩Photoshop,专业的图像处理软件,是真的吗?
  17. 微信小程序——生命周期
  18. MP3歌词的同步与拖拽设计
  19. 性能优化之MySQL优化(转)
  20. Objective-C 属性

热门文章

  1. css/js在线压缩工具
  2. 此页的状态信息无效,可能已损坏。”的解决办法
  3. Javascript设置对象的ReadOnly属性
  4. python_列表_常用操作
  5. hzwer模拟赛 感冒病毒
  6. WPF版的Dock控件第二版完成
  7. python的函数的笔记_Python笔记-函数1
  8. shell脚本一键安装jdk
  9. audio.js的研究与使用
  10. JavaScript强化教程——AngularJS 表达式