java将String类型的json转为json对象并进行取出相应的值

这篇博客展示了如何在Java中使用Fastjson库将一个String类型的JSON字符串转化为JSONObject,并从中提取特定属性的值。首先引入了Fastjson的maven依赖,然后提供了一个包含文件信息的JSON示例字符串。博主通过JSON.parseObject()方法将字符串转换为JSONObject,接着演示了如何获取并打印'md5'字段的值。此外,还展示了如何访问嵌套的JSONObject和获取其内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java将String类型的json转为json对象并进行取出相应的值

背景:和别人对接项目 向其要了一个临时的假数据进行格式转换取用
庞大的一个json

1.东西太大,简化

json.cn
链接: json.cn
在这里插入图片描述
清晰了好多。

2.存进java的demo中

由于这个json中使用了许多的 " " 故java会进行转义 有的能正常转义有的会报错类似这样的

expect ‘:’ at 0, actual "的转义失败的错误 (这是属于复制问题少复制一个“或者/)
可以在链接: json.cn看完数据后 直接里边进行压缩去转义 用里边的复制按钮
复制进java代码中

3.maven依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.47</version>
    </dependency>

4.代码

package com.ceshi;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class aa {
    public static void main(String[] args) {
        String result = "{\"filecount\":\"60\",\"filenames\":\"flowable_holiday-master.zip,jdchain-master.zip,flowable_holiday-master2.zip,flowable_holiday-master3.zip\",\"filenamesfilepath\":\"{\\\"flowable_holiday-master.zip\\\":\\\"D:/TY_DMS/原始备份区/DC-20220718714000062/001-001-002/flowable_holiday-master.zip\\\",\\\"flowable_holiday-master2.zip\\\":\\\"D:/TY_DMS/原始备份区/DC-20220718714000064/001-001-002/flowable_holiday-master2.zip\\\",\\\"flowable_holiday-master3.zip\\\":\\\"D:/TY_DMS/原始备份区/DC-20220718714000064/001-001-002/flowable_holiday-master3.zip\\\",\\\"jdchain-master.zip\\\":\\\"D:/TY_DMS/原始备份区/DC-20220718714000062/001-001-002/jdchain-master.zip\\\"}\",\"filenamesmd5\":\"{\\\"flowable_holiday-master.zip\\\":\\\"5a1cc37785764aaa4fd0c9e11fe940fc\\\",\\\"flowable_holiday-master2.zip\\\":\\\"5a1cc37785764aaa4fd0c9e11fe940fc\\\",\\\"flowable_holiday-master3.zip\\\":\\\"5a1cc37785764aaa4fd0c9e11fe940fc\\\",\\\"jdchain-master.zip\\\":\\\"f4f6a6363af4a93e717dd6197065de5b\\\"}\",\"files\":\"D:/TY_DMS/原始备份区/DC-20220718714000062/001-001-002/flowable_holiday-master.zip,D:/TY_DMS/原始备份区/DC-20220718714000064/001-001-002/flowable_holiday-master2.zip,D:/TY_DMS/原始备份区/DC-20220718714000064/001-001-002/flowable_holiday-master3.zip,D:/TY_DMS/原始备份区/DC-20220718714000062/001-001-002/jdchain-master.zip\",\"id\":\"13129224qweqweqeqe123\",\"md5\":\"3f377b490662d5d3de2c8665011f39f5\",\"pch\":\"1\",\"size\":\"1GB\",\"sl\":\"30\",\"大类\":\"文书档案\",\"小类\":\"案卷目录\",\"年度\":\"2022\",\"来源\":\"馆藏系统\",\"档号\":\"001-001-002\",\"版本号\":\"20220718164807\",\"题名\":\"xxxxx的通知\"}";
        //将String字符转为Json对象
        JSONObject jsonObject = JSON.parseObject(result);
        //获取当前嵌套下的属性
        String status = jsonObject.getString("md5");
        if (status!=null){
            System.out.println(status);
        }
//        //获取嵌套中的json串,细心观察 content为json数组,里面可放多个json对象
//        JSONArray jsonArray = jsonObject.getJSONArray("content");
 JSONObject jsonObject2 = jsonObject.getJSONObject("content");
//
//        //将json数组中取出一个json ,当前只有一个json组,所以下标为0
//        JSONObject jsonFirst = jsonArray.getJSONObject(0);
//
//        //取出这个json中的值
//        String yongjin_type = jsonFirst.getString("yongjin_type");
//        if (yongjin_type!=null){
//            System.out.println(yongjin_type);
//        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值