/**
* TestService.java
* Created at 2019年5月25日
* Created by Tan
* Copyright (C) 2018 SAIC VOLKSWAGEN, All rights reserved.
*/
package com.****.dms.manage.service.basedata;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
* <p>ClassName: TestService</p>
* <p>Description: 测试接口</p>
* <p>Author: Tan</p>
* <p>Date: 2019年5月25日</p>
*/
@Service
@Slf4j
public class TestService {
@Autowired
private TestPOMapper testMapper;
private final String SUCCESS_CODE = "1"; // 接口返回成功
private final String ERROR_CODE = "0"; // 接口返回异常
//上报
@SuppressWarnings({ "rawtypes", "unchecked" })
@Transactional(rollbackFor=Exception.class)
public Map<String, Object> receiveJson(Map<String, Object> param){
try {
Map result = new HashMap(); // 接口返回Map
List<String> errMsg = new ArrayList<String>(); // 错误信息
List<String> loss = new ArrayList<String>(); // 异常数据
List<Map> errlist = new ArrayList<Map>();
Map errMap = new HashMap();
if (BaseUtils.isNullOrEmpty(param.get("data"))) {
result.put("code", ERROR_CODE);
result.put("msg", "data数据为空!");
return result;
} else {
log.info("接收参数-----------------------------{}", param);
JSONArray data = JSONArray.fromObject(param.get("data"));
for (int i = 0; i < data.size(); i++) {
JSONObject map = data.getJSONObject(i);
log.info("每一项map-----------------------------{}", map);
// 判断必填字段是否为空
errMsg = BaseUtils.checkIsValid(map, "emp_id", "emp_name", "mobile");
log.info("errMsg-------------------------{}", errMsg);
if (!BaseUtils.isNullOrEmpty(errMsg)) {
errMap = new HashMap();
errMap.put("emp_id", map.get("emp_id"));
errlist.add(errMap); // 生成错误信息集合
loss.add("emp_id为[" + map.get("emp_id") + "]的数据异常!" + errMsg.toString());
continue;
}
}
if (!BaseUtils.isNullOrEmpty(loss)) {
result.put("code", ERROR_CODE); // code为0表示错误
result.put("msg", loss.toString());
result.put("errList", errlist);
return result;
}
result.put("code", SUCCESS_CODE); // code为1表示正确
result.put("msg", "成功!");
return result;
}
} catch (Exception e) {
ReturnToSADTO<Map<String, Object>> ret = new ReturnToSADTO<>();
ret.setData(null).setCode(CommonConstant.IF_ERROR).setMsg("系统出错!");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // 系统出错执行回滚操作
return ret.toMap();
}
}
}

image.png
log.info("接收参数-----------------------------{}", param);
JSONArray data = JSONArray.fromObject(param.get("data"));
for (int i = 0; i < data.size(); i++) {
JSONObject map = data.getJSONObject(i);
log.info("每一项map-----------------------------{}", map);
// 判断必填字段是否为空
errMsg = BaseUtils.checkIsValid(map, "emp_id", "emp_name", "mobile");
log.info("errMsg-------------------------{}", errMsg);
if (!BaseUtils.isNullOrEmpty(errMsg)) {
errMap = new HashMap();
errMap.put("emp_id", map.get("emp_id"));
errlist.add(errMap); // 生成错误信息集合
loss.add("emp_id为[" + map.get("emp_id") + "]的数据异常!" + errMsg.toString());
continue;
}
}

image.png
com.alibaba.fastjson.JSONObject JSONObject 转化
<!-- pom文件 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.70</version>
</dependency>
package org.example;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class JsonTest {
public static void main(String[] args) {
String result = "{\"code\":\"000000\",\"description\":\"SUCCESS\",\"data\":{\"mobile\":\"18911223344\",\"vin\":\"LSVPE26R3C4223345\",\"brand\":\"tt\",\"scIdpId\":\"111\",\"userId\":\"222\",\"register\":true,\"owner\":false}}";
JSONObject obj = JSON.parseObject(result);
System.out.println("obj:========" + obj);
JSONObject obj1 = JSON.parseObject(obj.getString("data"));
System.out.println("obj1:========" + obj1);
ResultVO resultVO = JSON.parseObject(JSONObject.toJSONString(obj1), ResultVO.class);
System.out.println("resultVO:========" + resultVO);
}
}

image.png
网友评论