【_ 記 】常用的数据转换 : new Gson().fromJson(String ,Object.class) 使用方法

业务需求:

最近在调用自己封装的API接口的时候,由于API接口返回json数据,需要把json数据转为对象,进行业务判断和数据调用。封装的时候json格式种类很多,最常见的就是带有返回头的:

代码演示:
api接口返回的 result 字符串

String result= "{\n" +
        "  \"code\": 0,\n" +
        "  \"desc\": \"订单信息查询成功!\",\n" +
        "  \"orderStatus\": \"PENDING\",\n" +
        "  \"certStatus\": \"PENDING\",\n" +
        "  \"data\": {\n" +
        "    \"order\": {\n" +
        "      \"partnerOrderID\": \"1111111\",\n" +
        "      \"caOrderID\": \"111111\",\n" +
        "      \"commonName\": \"baidu.com\",\n" +
        "      \"CSR\": \"\",\n" +
        "      \"signatureAlgorithm\": \"SHA2-256\",\n" +
        "      \"SANs\": [\n" +
        "        \"test.com\"\n" +
        "      ]\n" +
        "    },\n" +
        "    \"verification\": {\n" +
        "      \"organization\": \"NONE\",\n" +
        "      \"phone\": \"NONE\",\n" +
        "      \"domain\": \"VERIFYING\"\n" +
        "    },\n" +
        "    \"organization\": {\n" +
        "      \"organizationID\": \"111111\",\n" +
        "      \"organizationName\": \"测试组\",\n" +
        "      \"countryOrAreaCode\": \"CN\",\n" +
        "      \"state\": \"北京市\"\n" +
        "    },\n" +
        "    \"contacts\": [\n" +
        "      {\n" +
        "        \"contactType\": \"CC\",\n" +
        "        \"firstName\": \"陈\",\n" +
        "        \"lastName\": \" 小橘\",\n" +
        "        \"phone\": \"13598056666\",\n" +
        "        \"email\": \"chen_xiaoju@itrus.com.cn\",\n" +
        "        \"title\": \"chen_xiaoju@itrus.com.cn\"\n" +
        "      }\n" +
        "    ],\n" +
        "    \"certs\": []\n" +
        "  }\n" +
        "}";

新建接收的实体对象

public class ToolResultQuery {
    private String result;
    private Integer code;
    private String desc;
    private String orderStatus;
    private String certStatus;
    private DataQuery data;
    //忽略get set
    }
//DataQuery对象下的二级对象
public class DataQuery {
    private Order_query order;
    private Verification_query verification;
    private Organization_query organization;
    private List<Contacts_query> contacts;
    private List<Certs_query> certs;
    }
    // Order_query
    public class Order_query {
    private String partnerOrderID;
    private String caOrderID;
    private String commonName;
    private String CSR;
    private String signatureAlgorithm;
    private List<String> SANs;
    }
    ...
    //省略其他对象 ,必须保证json里出现的对象和你新建的对象格式保持一致。

调用Gson fromJson()

ToolResultQuery toolResultQuery = new Gson().fromJson(result,ToolResultQuery.class);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cnyzu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值