`
qindongliang1922
  • 浏览: 2182525 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117481
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125867
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59866
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71256
社区版块
存档分类
最新评论

Fastjson解析嵌套Map例子

    博客分类:
  • JAVA
阅读更多

由于在实际工作中使用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


有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。

0
0
分享到:
评论

相关推荐

    安卓网站交互JSONxmlWebserviceUPnP相关-使用fastjson解析实体嵌套只要一行代码就可以解析负责的json嵌套.zip

    【标题】中的“安卓网站交互JSONxmlWebserviceUPnP相关-使用fastjson解析实体嵌套只要一行代码就可以解析负责的json嵌套”涉及到几个关键概念,让我们逐一详解: 1. **JSON**: JSON(JavaScript Object Notation)...

    java FASTJSON 解析复杂JSON实例源码

    在这个实例中,我们将深入探讨如何使用Fastjson来解析复杂的JSON数据,并通过`JSONTest`这个示例代码来加深理解。 首先,让我们了解什么是JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...

    fastjson解析jar包

    fastjson解析jar包,是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。 、1、遵循http://json.org标准,为其官方网站收录的参考实现之一。 2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection...

    Json_Gson_FastJson解析

    在Java世界中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括org.json、Google的Gson以及阿里巴巴的FastJson。下面我们将详细探讨这三种JSON解析库的使用方法。 1. **org.json**: org.json是一个开源的...

    fastjson解析json的jar

    《深入理解Fastjson:高效解析JSON的利器》 在当今的互联网时代,JSON(JavaScript Object Notation)已经成为数据交换的主要格式之一,广泛应用于前后端交互、API开发以及各种Web服务中。Fastjson是阿里巴巴推出的...

    fastjson的一个小例子

    在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者在Android开发中快速处理JSON数据。 在Android应用开发中,JSON是一种常见的数据交换格式,用于在服务器和客户端之间传递数据。FastJson以...

    使用ListView和异步加载来下载网络上的资源,然后用fastjson解析资源

    本示例将详细介绍如何结合异步加载(AsyncTask)和Fastjson库来从网络下载资源并进行解析,最终将结果显示在ListView中。 首先,`ListView`是Android提供的一种高效的数据列表组件,它能重用已创建的视图,即...

    FastJson Json解析利器

    在Java开发中,JSON(JavaScript Object Notation)作为数据交换格式被广泛应用,FastJson的出现极大地简化了JSON的解析和序列化过程。 FastJson的主要特点包括: 1. **高性能**:FastJson在设计时就注重性能优化,...

    fastjson 快速解析json

    fastjson 快速解析json json、List互转

    Volley。fastJson解析网络Json ,多线程显示图片,简单缓存图片,万能适配器,完美解决图片排序混乱问题,完美解决图片多次加载问题

    FastJson的使用非常简单,只需要创建一个`JsonParser`对象,然后调用`parse()`方法即可将JSON字符串转化为Java对象,如`Map`或`List`。这使得在Android应用中处理网络返回的数据变得容易。 接着,我们来看看如何在...

    fastjson解析json.rar

    这个压缩包“fastjson解析json.rar”显然包含了使用Fastjson进行JSON解析的相关资源,包括fastjson的库文件、示例代码以及可能的数据模型类。下面将详细介绍Fastjson的使用方法以及压缩包中的关键文件。 首先,`...

    Json实体嵌套解析

    下面我们将深入探讨如何使用Fastjson解析JSON实体嵌套。 1. **引入Fastjson依赖** 在Java项目中,首先需要添加Fastjson的依赖。如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;...

    FastJson解析Json数据源码-旧版

    对于复杂的数据结构,如嵌套的对象和数组,FastJson会递归地处理。当遇到一个键值对时,`JSONParser`会将键和值分别解析,并将它们添加到当前正在构建的Java对象中。如果遇到数组,FastJson会创建一个新的ArrayList...

    fastjson的各种用法例子

    Fastjson是阿里巴巴开源的一款高性能的Java JSON库,它不仅支持JSON到Java对象的映射,还提供了方便的JSON字符串解析和生成功能。在Java开发中,Fastjson因其简单易用、性能优异而广受欢迎。本教程将通过实例介绍...

    fastjson解析科大讯飞案例

    利用fastjson解析科大讯飞的听写json字符串,实现语音听写

    Fastjson解析案例

    通常,这个例子会展示如何将一个JSON字符串解析成一个Java对象,例如User类的实例。通过阅读并理解这个示例,开发者可以学习到如何在实际项目中使用Fastjson进行数据转换。 总结来说,Fastjson作为一个强大的JSON...

    okhttp请求+FastJson解析数据

    "okhttp请求+FastJson解析数据"这个主题聚焦于两个关键库的使用:OkHttp用于发起网络请求,FastJson则用于处理返回的数据,进行JSON解析。下面我们将深入探讨这两个库及其在实际开发中的应用。 首先,OkHttp是...

    Android中FastJson解析json

    5. **流式解析和生成**:对于大数据处理,FastJson提供了流式解析和生成接口,避免一次性加载整个JSON到内存,有效降低内存消耗。 6. **安全处理**:FastJson还提供了防止XXE(XML External Entity)攻击的安全特性...

    Java fastjson解析json字符串实现过程解析

    在开始解析JSON字符串之前,首先需要将Fastjson的依赖添加到项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;fastjson &lt;version&gt;1.2.67 ...

    http请求测试实例(采用fastjson解析)

    Fastjson是阿里巴巴提供的一款高性能的JSON库,它能快速地将Java对象转换为JSON字符串,也可以从JSON文本中解析出Java对象。 首先,HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网...

Global site tag (gtag.js) - Google Analytics