在做百度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/4-6--6/1>0>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串中獲取具體的某個的數值-創新互聯
當前路徑:http://m.newbst.com/article8/hjeip.html
成都網站建設公司_創新互聯,為您提供標簽優化、定制開發、云服務器、品牌網站設計、外貿建站、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯