用FastJson将JSON字符串转Json[通俗易懂]

用FastJson将JSON字符串转Json[通俗易懂]一、导入jar<!–fastjson–><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.15</version></dependency>二、Fas

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、导入jar

  <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.1.15</version>
        </dependency>

二、FastJson解析字符串主要用到的类

JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。
JSONObject:fastJson提供的json对象。
JSONArray:fastJson提供json数组对象。

我们可以把JSONObject当成一个Map<String,Object>来看,只是JSONObject提供了更为丰富便捷的方法,方便我们对于对象属性的操作。

同样我们可以把JSONArray当做一个List,可以把JSONArray看成JSONObject对象的一个集合。

二、FastJson解析嵌套的json字符串

 String result ="{\"content\":\"{\\\"个人档案编号\\\":\\\"123123\\\",\\\"接种信息列表\\\":[{\\\"生产企业\\\":\\\"武汉生物\\\",\\\"剂次\\\":\\\"1\\\",\\\"接种日期\\\":\\\"2021-00-09\n" +
               "10:20:13\\\",\\\"疫苗名称\\\":\\\"新冠疫苗(Vero细胞)\\\",\\\"接种地\\\":\\\"上海市\\\"},{\\\"生产企业\\\":\\\"武汉生物\\\",\\\"剂次\\\":\\\"2\\\",\\\"接种日期\\\":\\\"2021-06-05\n" +
               "12:00:56\\\",\\\"疫苗名称\\\":\\\"新冠疫苗(Vero细胞)\\\",\\\"接种地\\\":\\\"上海市\\\"},{\\\"生产企业\\\":\\\"武汉生物\\\",\\\"剂次\\\":\\\"3\\\",\\\"接种日期\\\":\\\"2022-01-15\n" +
               "14:17:23\\\",\\\"疫苗名称\\\":\\\"新冠疫苗(Vero细胞)\\\",\\\"接种地\\\":\\\"上海市\\\"}],\\\"证件号码\\\":\\\"31022113951114571x\\\",\\\"个案状态\\\":\\\"正常\\\",\\\"国籍\\\":\\\"中国\\\",\\\"证件类型\\\":\\\"居民身份证\\\"}\",\"message\":\"success\"}";

JSONObject jsonObject = (JSONObject) JSON.parse(result);
                        String content = jsonObject.get("content").toString();
                        JSONObject jsonObject2 = (JSONObject) JSON.parse(content);
                        JSONArray arrayJson = jsonObject2.getJSONArray("接种信息列表");
                        System.out.println(arrayJson);
                        for (Object display : arrayJson) { 
   
                            JSONObject object = JSONObject.parseObject(display.toString());
                            HashMap<Object, Object> mapYM = new HashMap<>();
                            mapYM.put("scqy",object.get("生产企业"));
                            mapYM.put("jc",object.get("剂次"));
                            mapYM.put("jzrq",object.get("接种日期"));
                            mapYM.put("ymmc",object.get("疫苗名称"));
                            mapYM.put("ymjzd",object.get("接种地"));
                            map.put(object.get("剂次").toString(),mapYM);
                        }
                    }
                    return map;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188922.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 页面中插入百度地图(使用百度地图API)

    页面中插入百度地图(使用百度地图API)

    2022年1月9日
    54
  • ffmeg 截取视频帧[通俗易懂]

    ffmeg 截取视频帧[通俗易懂]按帧数截取从头截取(前30帧)ffmpeg-s1920x1080-iinput.yuv-c:vrawvideo-filter:vselect=”gt(n\,-1)”-vframes30out30.yuvffmpeg-s1920x1080-iinput.yuv-c:vrawvideo-filter:vselect=”between(n\,0\,29)”out30.yuvffmpeg-r1-ss0-iinput.yuv-vcodec.

    2022年9月24日
    0
  • ICMP协议详解

    ICMP协议详解ICMP协议详解ICMP协议是一个网络层协议。一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成这样的功能–ICMP协议。ICMP协议的功能ICMP协议的功能主要有:1.确认IP包是否成功到达目标地址2.通知在发送过程中IP包被…

    2022年7月12日
    20
  • java json 根据 key排序[通俗易懂]

    java json 根据 key排序[通俗易懂]阿里的JsonObject内部是用Hashmap来存储的,所以输出是按key的排序来的,如果要让JsonObject按固定顺序(put的顺序)排列,可以修改JsonObject的定义HashMap改为LinkedHashMap。publicJSONObject(){this.map=newLinkedHashMap();//newHashMap();…

    2022年9月8日
    0
  • XLSTransformer生成excel文件简单演示样例「建议收藏」

    XLSTransformer生成excel文件简单演示样例「建议收藏」项目结构图:项目中所用到的jar,能够到http://www.findjar.com/index.x下载ExcelUtil类源代码:packageutil;importjava.io.IOExce

    2022年7月3日
    19
  • C#开发面试题_程序员面试题精选100题

    C#开发面试题_程序员面试题精选100题注明:经过本人面试的经历和在网上的资料整理出来的100道比较常见的C#面试题,想当初面试公司虽然不是很多,第一次找工作用了近两周的时间面试了二十多家公司,成功的不到十家,最后选择了一家大型的软件公司干了两个月就走人了。后来又找了一周工作,面试了十一家公司,成功9家。现在已经在公司工作了快两年的时间了。以下的面试题也是自己曾经做过的,希望能帮助更多的同行找到满意的工作!!!1..NET和C#有

    2022年8月25日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号