Java映射 转换post response data

接上篇
Java泛型对象在http请求和响应对象中的封装
https://www.cnblogs.com/oktokeep/p/17688322.html

demo1

public class ResponseBase<T> {
private String resCode;
private String resMsg;
// private List<T> data;
private T data; //实际接收的是String字符串 public String getResCode() {
return resCode;
} public void setResCode(String resCode) {
this.resCode = resCode;
} public String getResMsg() {
return resMsg;
} public void setResMsg(String resMsg) {
this.resMsg = resMsg;
} public T getData() {
return data;
} public void setData(T data) {
this.data = data;
} } public class JsonListTest {
public static void main(String[] args) {
String myRemarkJson = "Json串,data可以是列表的json串";

List<MyAppWorkOrderResponseVO> list = new ArrayList<>(); // ResponseBase<String> responseVO = JSON.parseObject(myRemarkJson, ResponseBase.class);
//同上面的 默认是String
ResponseBase responseVO = JSON.parseObject(myRemarkJson, ResponseBase.class);
//如果写成如下是错误的
//ResponseBase<MyAppWorkOrderResponseVO> responseVO = JSON.parseObject(myRemarkJson, ResponseBase.class); System.out.println("getRemarkInfo responseData=" + GsonUtils.toJson(responseVO));
if(responseVO != null && "000000".equals(responseVO.getResCode()) && responseVO.getData() != null) {
// //去掉 syntax error, expect {, actual [, pos 0, fastjson-version 1.2.83
System.out.println("sss=" + responseVO.getData().toString());
list = JSON.parseArray(responseVO.getData().toString(), MyAppWorkOrderResponseVO.class);
}
System.out.println("getRemarkInfo list=" + GsonUtils.toJson(list)); }
}

demo2

public class MyPartnerBaseResponse<T> extends PartnerBaseResponse {
/**
*状态码表0成功,其他失败
*/
private Integer returncode;
/**
*业务操作码 成功”success”
*/
private String operate;
/**
*返回结果消息
*/
private String message;
/**
* 返回结果数据,详情json
*/
private T result; public T getResult() {
return result;
} public void setResult(T result) {
this.result = result;
} public Integer getReturncode() {
return returncode;
} public void setReturncode(Integer returncode) {
this.returncode = returncode;
} public String getOperate() {
return operate;
} public void setOperate(String operate) {
this.operate = operate;
} public String getMessage() {
return message;
} public void setMessage(String message) {
this.message = message;
}
} //默认T是接收的是字符串
MyPartnerBaseResponse baseResVo = JSON.parseObject(resultJsonData, MyPartnerBaseResponse.class);
if(baseResVo.getResult() != null) {
response = JSON.parseObject(baseResVo.getResult().toString(), PiccHangzhouAuthorizationQueryResponse.class);
baseResVo.setResult(response);
}

Java映射 转换post response T data的更多相关文章

  1. JAVA -JSON-XML-MAP转换

      //定义一个MAP对象,将对象传给后端接口接收 Map a = ["api": '11', ZGUID: "1231",BESKZ: "1231& ...

  2. Atititjs javascript异常处理机制java异常转换.js exception process

    Atititjs javascript异常处理机制java异常的转换.js exception process 1. javascript异常处理机制 Throw str Not throw erro ...

  3. fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map

    作者:buster2014 推荐:长安散人 fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map JSON字符串与Java对象的转换 1.将Java对象或Java ...

  4. allow zero datetime=true导致datetime转换失败:MySql.Data.Types.MySqlDateTime”的对象无法转换为类型“System.Nullable`1[System.DateTime]

    allow zero datetime=true导致datetime转换失败:MySql.Data.Types.MySqlDateTime”的对象无法转换为类型“System.Nullable`1[S ...

  5. inner join ,left join ,right join 以及java时间转换

    1.inner join ,left join 与 right join (from 百度知道) 例表aaid adate1    a12    a23    a3表bbid  bdate1     ...

  6. Java Server returned HTTP response code: 401

    今天写一个小功能需要通过http请求获取一些返回数据,但是在登陆时是需要进行用户名和密码的校验的.写好之后请求,返回异常Java Server returned HTTP response code: ...

  7. eclipse下将普通的java工程转换成web工程

    开发过程中需要对普通的java工程转换成动态的web工程,网络上查询了资料很简单的几步操作就可以搞定,操作步骤如下: 编辑.project 修改以下配置 <nature>org.eclip ...

  8. java批量转换图片格式

    废话不多直接上代码,代码其实也不多.... package com.qiao.testImage; import java.awt.image.BufferedImage; import java.i ...

  9. Java IO 转换流 字节转字符流

    Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| Fil ...

  10. Myeclipse Java项目转换成Maven项目

    1.在Eclipse中Java项目转换成Maven项目可以在项目右键-->configure-->Convert Plug-in projects..  就可以.而在myeclipse中项 ...

随机推荐

  1. 行业实战 | 5G+边缘计算+“自由视角” 让体育赛事更畅快

    简介: 世界本是多维的.进入5G时代,观众对多维度视觉体验的需求日益增长,5G MEC网络与边缘计算的结合,具备大带宽.低延迟特性,使视频多维视觉呈现成为现实.在第二十三届CUBA中国大学生篮球联赛期 ...

  2. 新型DDoS来袭 | 基于STUN协议的DDoS反射攻击分析

    简介: 作为新型反射类型,目前仍存绕过防御可能性. 阿里云安全近期发现利用STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)服务发起的DDoS反 ...

  3. Maxcompute造数据-方法详解

    简介: 造一点模拟数据的方法 概述 造数据在一些奇怪的场合会被用到.一般我们是先有数据才有基于数据的应用场合,但是反过来如果应用拿到另外一个场景,没有数据功能是没有方法演示的.一般较为真实的数据,脱敏 ...

  4. MySQL 深潜 - 一文详解 MySQL Data Dictionary

    ​简介: 在 MySQL 8.0 之前,Server 层和存储引擎(比如 InnoDB)会各自保留一份元数据(schema name, table definition 等),不仅在信息存储上有着重复 ...

  5. [FAQ] PHP Warning: json_encode(): double INF does not conform to the JSON spec

    如果待 json 编码元素的数值趋近无穷大,会有这个提示. 比如:小数位超出长度. 解决方式建议保留固定长度的位数,也可以四舍五入. round(sprintf('%.11f', xxxxx), 10 ...

  6. 记联软 UniAccess 导致 NSIS 安装包启动进程失效

    本文记录联软 UniAccess 注入的 C:\Window\LVUAAgentInstBaseRoot\syswow64\MozartBreathCore.dll 导致 NSIS 安装包启动进程失效 ...

  7. 尝试 IIncrementalGenerator 进行增量 Source Generator 生成代码

    在加上热重载时,源代码生成 Source Generator 的默认行为会让 Visual Studio 有些为难,其原因是热重载会变更代码,变更代码触发代码生成器更新代码,代码生成器更新的代码说不定 ...

  8. K8s控制器(8)---Deployment

    一.Deployment控制器概念.原理解读 1.1 Deployment概述 # Deployment官方文档 https://kubernetes.io/docs/concepts/workloa ...

  9. 习题8 #第8章 Verilog有限状态机设计-4 #Verilog #Quartus #modelsim

    4. 用状态机设计交通灯控制器,设计要求:A路和B路,每路都有红.黄.绿三种灯,持续时间为:红灯45s,黄灯5s,绿灯40秒. A路和B路灯的状态转换是: (1) A红,B绿(持续时间40s): (2 ...

  10. 利用Navicat的历史日志查询表的索引信息(还可以查询很多系统级别的信息)

    1.使用前提 所有的能用Navicat连接的数据库都可以使用这个方法 DDL/DML语句都有 2.Navicat中的历史日志 3.比如查询mysql的表的索引 先打开"历史记录" ...