JSON数组形式字符串转换为Map数组

该代码段展示了一个使用Spring的@Scheduled注解实现的定时任务,任务中涉及到JSON数据的解析和处理。首先,从GetCameraPreviewURL获取数据,然后将模拟的JSON字符串转化为JSONObject,进一步提取所需列表数据并存储到数据库中。
摘要由CSDN通过智能技术生成
package com.egb.bengfang.scheduled;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.egb.bengfang.common.GetCameraPreviewURL;
import com.egb.bengfang.web.domain.local.persistence.YsDataMapper;
import com.egb.bengfang.web.service.YsDataService;
import com.egb.bengfang.websocket.InfluxDBConnect;
import lombok.extern.slf4j.Slf4j;
import org.influxdb.dto.QueryResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;

import java.text.SimpleDateFormat;
import java.util.*;

@Slf4j
@Service
@EnableScheduling
public class HealthScheduled {
    Logger logger = LoggerFactory.getLogger(HealthScheduled.class);
    @Autowired
    private YsDataMapper dataMapper;
    @Autowired
    private YsDataService ysDataService;
    @Scheduled(cron = "00 5/10 * * * ?")
    public void addMJDatas() {
        try {
            System.out.print("定时任务开始");
//            String result = GetCameraPreviewURL.GetCameraPreviewURL();
            String result ="{\n" +
                    "    \"code\": \"0\",\n" +
                    "    \"msg\": \"success\",\n" +
                    "    \"data\": {\n" +
                    "        \"total\": 1,\n" +
                    "        \"totalPage\": 1,\n" +
                    "        \"pageNo\": 1,\n" +
                    "        \"pageSize\": 100,\n" +
                    "        \"list\": [\n" +
                    "            {\n" +
                    "                \"eventId\": \"207dd3b1-37a7-4d6c-8e4d-c8bfd343051b\",\n" +
                    "                \"eventName\": \"acs.acs.eventType.successCard\",\n" +
                    "                \"eventTime\": \"2019-11-16T15:44:33+08:00\",\n" +
                    "                \"personId\": \"216e2ba145824269a1cbb423cdc85cb1\",\n" +
                    "                \"cardNo\": \"3891192334\",\n" +
                    "                \"personName\": \"sdk人员1zzzcb\",\n" +
                    "                \"orgIndexCode\": \"root000000\",\n" +
                    "                \"orgName\": \"默认组织\",\n" +
                    "                \"doorName\": \"10.40.239.69new_test2_门_1\",\n" +
                    "                \"doorIndexCode\": \"f0b50050d3434f15b4e34f885d5dacfe\",\n" +
                    "                \"doorRegionIndexCode\": \"fd2df06b-1afb-4c9b-b058-5740c2c00076\",\n" +
                    "                \"picUri\": \"no-pcnvr\",\n" +
                    "                \"svrIndexCode\": \"/pic?=d62i7f6e*6a7i125-c838b9--a8c67dea96e65icb1*=sd*=5dpi*=1dpi*m2i1t=4ed35444bb4s=-39\",\n" +
                    "                \"eventType\": 198914,\n" +
                    "                \"inAndOutType\": 1,\n" +
                    "                \"readerDevIndexCode\": \"378e563bf3e84d5ba6ef5742bbaa8933\",\n" +
                    "                \"readerDevName\": \"读卡器_1\",\n" +
                    "                \"devIndexCode\": \"dcff422aad9c4d60a47b8b2fe2757b71\",\n" +
                    "                \"devName\": \"10.40.239.69new_test2\",\n" +
                    "                \"identityCardUri\": \"/pic?=d62i7f6e*6a7i125-c838b9--a8c67dea96e65icb1*=sd*=5dpi*=1dpi*m2i1t=4ed35444bb4s=-39z422d3\",\n" +
                    "                \"receiveTime\": \"2019-11-16T15:45:13.525+08:00\",\n" +
                    "                \"jobNo\": \"23333\",\n" +
                    "                \"studentId\": \"201900001\",\n" +
                    "                \"certNo\": \"320826199012110005\"\n" +
                    "            }\n" +
                    "        ]\n" +
                    "    }\n" +
                    "}\n";
            JSONObject jsonObject = JSON.parseObject(result);
            JSONObject jsonObject1 = JSON.parseObject(jsonObject.getString("data"));
            //jsonObject1.get("list");转换两遍json,获取data标签得list标签数据
            System.out.println(jsonObject1.get("list"));
            List<Map<String,String>> listObjectFir = (List<Map<String,String>>) JSONArray.parse(jsonObject1.get("list").toString());
            System.out.println("利用JSONArray中的parse方法来解析json数组字符串"+listObjectFir);
            ysDataService.addMJDatas(listObjectFir);
            System.out.print("定时任务结束");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值