使用java 格式化json


{
    "attackerInfo": [],
    "whois": [],
    "basicInfo": {
        "lastTime": "2021-10-17 01:43:08",
        "firstTime": "2021-10-17 01:43:08",
        "total": 1,
        "data": "www.33soft.com/",
        "dataType": "url",
        "attackAction": ["test"],
        "attackInProtocol": [],
        "malwareClass": [
            "Alice"
        ],
        "tags": "+"
    },
    "threatIntelligence": [
        {
            "level": 75,
            "activeTime": "2021-10-17 00:06:40",
            "channel": "url_reputation"
        },
        {
            "level": 75,
            "activeTime": "2021-10-17 00:06:40",
            "channel": "url_c2"
        }
    ],
    "linkedAnalysis": []
}

处理要求:

​ 1、提取basicInfo,

​ 2、提取dataType作为键,data作为值,

​ 3、"attackAction","malwareClass"字段合并生成新的字段 tags(源tags删除),

{
"lastTime": "2021-10-17 01:43:08",
"firstTime": "2021-10-17 01:43:08",
"total": 1,
"url": "http://www.33soft.com/%22,
"attackInProtocol": [],
"tags": ["Alice","test"]
}

JSON格式化工具加上fastJson解析,简单明了

使用工具类直接解析,自己取
https://blog.csdn.net/qq_34031691/article/details/121495278

1.既然使用了json,那么至少使用json官方提供的jar包进行解析,解析结果可以选择解析成一个Map对象
2.解析完成以后的Map对象可以进行Stream快速操作,将其中需要的字段保留,合并。
3.带[]的会自动解析为List对象,直接新生成一个List把这两个都放进去就好了

你的思路挺好的,可以直接操作哈