Java从json串中获取具体的某个的数值-创新互联

在做百度VCR发票识别中遇到了如下的问题,百度接口返回给我了json格式的字符串,那么毫无疑问我需要进行处理一下。

成都创新互联于2013年创立,先为峰峰矿等服务建站,峰峰矿等地企业,进行企业商务咨询服务。为峰峰矿企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

返回回来的代码如下:

{
    "words_result_num": 45,
    "words_result": {
        "CommodityUnit": [
            {
                "row": "1",
                "word": "件"
            }
        ],
        "PurchaserAddress": "",
        "SheetNum": "",
        "CommodityType": [
            {
                "row": "1",
                "word": "DHE-8011耳机"
            }
        ],
        "TotalAmount": "34.51",
        "Checker": "王燕",
        "PurchaserBank": "",
        "Agent": "否",
        "Password": "645<++0+253*899/40>93067755>19/<04025693>*52/83-00-*<<3-*+3181581>>>6824*1>8/63067755>19/<04023>37",
        "InvoiceTypeOrg": "江苏增值税电子普通发票",
        "InvoiceCodeConfirm": "032002100811",
        "TotalTax": "4.49",
        "ServiceType": "电器设备",
        "CommodityTaxRate": [
            {
                "row": "1",
                "word": "13%"
            }
        ],
        "CommodityTax": [
            {
                "row": "1",
                "word": "4.49"
            }
        ],
        "SellerBank": "中国建设银行南京徐庄软件园支行32001881436052508322",
        "Remarks": "38214257941",
        "SellerAddress": "南京市玄武区玄武大道699-19号8幢025-66996699",
        "NoteDrawer": "刘娅",
        "InvoiceTag": "其他",
        "InvoiceNumConfirm": "58067464",
        "OnlinePay": "",
        "Payee": "施怡红",
        "CommodityName": [
            {
                "row": "1",
                "word": "*计算机配套产品*hp/惠普DHE-8011耳机"
            }
        ],
        "CommodityVehicleType": [],
        "InvoiceCode": "032002100811",
        "AmountInWords": "叁拾玖圆整",
        "AmountInFiguers": "39.00",
        "City": "",
        "InvoiceType": "电子普通发票",
        "CommodityEndDate": [],
        "PurchaserName": "个人",
        "InvoiceDate": "2022年06月20日",
        "CommodityNum": [
            {
                "row": "1",
                "word": "1"
            }
        ],
        "PurchaserRegisterNum": "",
        "MachineCode": "661616292450",
        "CommodityPlateNum": [],
        "CheckCode": "77221101492528330127",
        "SellerRegisterNum": "91320102575938948G",
        "CommodityPrice": [
            {
                "row": "1",
                "word": "34.51327434"
            }
        ],
        "CommodityStartDate": [],
        "SellerName": "南京苏宁易购电子商务有限公司",
        "CommodityAmount": [
            {
                "row": "1",
                "word": "34.51"
            }
        ],
        "Province": "江苏省",
        "InvoiceNum": "58067464"
    },
    "log_id": 1598565862431452614
}

打印台出的为:

这边我写了一个方法进行处理,这里举出一个典型的例子以获取CommodityUnit的row和获取InvoiceDate时间为例

public static String getHashMapByJson(String jsonResult) {
        JSONObject jsonObject = new JSONObject(jsonResult);
        //将json格式转化为指定的map集合
        Map>>>map=(Map)jsonObject.toMap();
        String words_result = map.get("words_result").toString();
        String s = map.get("words_result").get("CommodityUnit").get(0).get("row").toString();
        Map>map1=(Map)jsonObject.toMap();
        //获取发票日期
        String invTime = map1.get("words_result").get("InvoiceDate");
        return invTime;
    }

最后在测试段成功获取

测试端代码如下,

测试的时间调用方法调取方法

String invTime  = BaiDuOCR.getHashMapByJson(jsonResult);
            System.out.println(invTime);

打印内容如下:

测试CommodityUnit的row调用的方法

String s  = BaiDuOCR.getHashMapByJson(jsonResult);
            System.out.println(s);

运行成功

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

分享文章:Java从json串中获取具体的某个的数值-创新互联
当前路径:https://www.cdcxhl.com/article8/hjeip.html

成都网站建设公司_创新互联,为您提供标签优化定制开发云服务器品牌网站设计外贸建站网站策划

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设