java系列之-二维数组字符串解析


前言

不做金蝶的二次开发或者接口对接,基本不会碰都这种二维数据的解析,不过解析的方式有好几种,自己字符串拆分即可,想想还是不太高大上,还是用代码解析。


一、二维字符串示例

[["XSDD000123","A",12858.6700000000,"xx店","x辉","x姗"]]

二、解析代码

		execute = ""[[\"XSDD000123\",\"A\",12858.6700000000,\"xx店\",\"x辉\",\"x姗\"]]"";
        //创建一个JsonParser
        JsonParser parser = new JsonParser();
        //通过JsonParser对象可以把json格式的字符串解析成一个JsonElement对象
        JsonElement el = parser.parse(execute);
        if(el.isJsonArray())
        {
            //把JsonElement对象转换成JsonArray
            JsonArray jsonArray = el.getAsJsonArray();
            if (jsonArray.size() > 0)
            {
                JsonElement jsonElement = jsonArray.get(0);
                if (jsonElement.isJsonArray())
                {
                    JsonArray asJsonArray = jsonElement.getAsJsonArray();
                    SaleOrder saleOrder = new SaleOrder();
                    saleOrder.setBillNo(asJsonArray.get(0).toString());
                    saleOrder.setDocumentStatus(asJsonArray.get(1).toString());
                    saleOrder.setActualPrice(asJsonArray.get(2).toString());
                    saleOrder.setSaleDept(asJsonArray.get(3).toString());
                    saleOrder.setCustName(asJsonArray.get(4).toString());
                    saleOrder.setCreateName(asJsonArray.get(5).toString());
                    log.info("销售订单|单据查询|请求出参:={}", JSON.toJSONString(saleOrder));
                }
            }
        }

三、运行结果

在这里插入图片描述

{
    "actualPrice": "12858.6700000000",
    "billNo": "\"XSDD000123\"",
    "createName": "\"X姗\"",
    "custName": "\"x辉\"",
    "documentStatus": "\"A\"",
    "saleDept": "\"xx店\""
}

总结

Gson还是挺强大的一些特殊的集合操作用这个工具类还是挺棒的,最后附上一张图让大家知道解析方法在那个工具类。

在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页