JSONObject的使用
接口方法:
@POST
@Path("checkMonthlyCardNumber")public ExpResult<IsNeedPwdRespone> checkMonthlyCardNumber(CheckMonthlyCardNumberRequest CheckMonthlyCardNumber);
实现接口方法:
@Override
public ExpResult<IsNeedPwdRespone> checkMonthlyCardNumber(CheckMonthlyCardNumberRequest checkMonthlyCardNumber)
{
ExpResult<IsNeedPwdRespone> result = new ExpResult<IsNeedPwdRespone>(false);
try {
result = getResultCkeckMonthlyCardNumber( checkMonthlyCardNumber);
} catch (Exception e) {
logger.error("验证月结卡号密码错误,错误原因:"+e.getMessage(), e);
result.setErrorMessage("验证月结卡号密码错误。");
}
return result;
}
接口一系列的校验:
public ExpResult<IsNeedPwdRespone> getResultCkeckMonthlyCardNumber(CheckMonthlyCardNumberRequest checkMonthlyCardNumber)
{
ExpResult<IsNeedPwdRespone> result = new ExpResult<IsNeedPwdRespone>(false);
if(StringUtils.isBlank(checkMonthlyCardNumber.getMonthCard()))
{
result.setErrorMessage("[monthCard][parameter not blank]");
return result;
}
if(StringUtils.isBlank(checkMonthlyCardNumber.getUserId()))
{
result.setErrorMessage("[userId][parameter not blank]");
return result;
}
try {
String requestJson = checkMonthCard(checkMonthlyCardNumber);
logger.info("验证月结卡号密码请求参数:"+requestJson);
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("Content-Type", "application/json");
/** restful接口调用 **/
String returnJson = HttpUtil.post(ckeckMonthlyCardNumberUrl, requestJson, headMap, 100 * 50);
logger.info("验证月结卡号密码返回参数:"+returnJson);
if(StringUtils.isNotBlank(returnJson))
{
ObjectMapper mapper = new ObjectMapper();
result =mapper.readValue(returnJson, new TypeReference<Result<IsNeedPwdRespone>>() {});
return result;
}
result.setErrorMessage("验证月结卡号密码调用接口返回结果为空。");
} catch (Exception e)
{
logger.info("验证月结卡号密码调用接口异常,原因:"+e.getMessage(),e);
result.setErrorMessage("验证月结卡号密码调用接口异常。");
}
return result;
}
取Json字符中的内容:
public String errorMessage(String str)
{
try {
JSONObject jsonObject = JSONObject.fromObject(str); // 转换成JSONObject对象
return jsonObject.optString("errorMessage"); // 获取data的内容
} catch (Exception e)
{
logger.error("验证月结卡号密码调用接口取errorMessage错误。"+e,e.getMessage());
}
return "";
}
Json字符删除其中一个字字符串
public String checkMonthCard(CheckMonthlyCardNumberRequest checkMonthlyCardNumber)
{
try {
String returnJson = JSON.json(checkMonthlyCardNumber);
if(StringUtils.isBlank(checkMonthlyCardNumber.getPassWord()))
{
JSONObject jsonObject1 = JSONObject.fromObject(returnJson); // 转换成JSONObject对象
JSONObject jsonObject2 = jsonObject1.discard("passWord"); //删除数据
return String.valueOf(jsonObject2);
}
return returnJson;
} catch (Exception e)
{
logger.error("验证月结卡号密码调用接口移除密码字段错误。"+e,e.getMessage());
}
return "";
}
自己随便写的,有问题还请留意谢谢。