【_ 記 】常用的数据转换 : 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\": \"[email protected]\",\n" +
        "        \"title\": \"[email protected]\"\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);
发布了116 篇原创文章 · 获赞 116 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/o_o814222198/article/details/103610146