4 个版本 (重大更新)
0.4.0 | 2023年12月5日 |
---|---|
0.3.0 | 2023年11月17日 |
0.2.0 | 2023年11月6日 |
0.1.0 | 2023年10月3日 |
#1686 在 命令行工具 中
每月下载量 36
92KB
2K SLoC
bai2
解析 BAI2 文件的工具
用法
cargo install bai2
要解析 bai2 文件,只需提供文件名!
bai2 my_file.bai
示例
给定一个如下所示的 BAI2 文件 test.bai
01,GSBI,ABC,200331,2300,1,,,2/
02,,GSBI,1,200331,2300,,,/
03,123456,USD,010,10000,,,/
16,495,1000,,I1220012,endtoendID,To: Payee account, Account: XXXXX-4454, Client Ref ID: endtoendID, GS ID:I1220012/
88,CREF: 9f4396bd-8c47-4893-8682-bd8ff006d140
49,11000,2/
98,12000,2,5/
99,22000,2,10/
以 JSON 格式查看
bai2 test.bai
{
"continuations": [],
"file_header": {
"sender": "GSBI",
"receiver": "ABC",
"creation_date": "2020-03-31",
"creation_time": "23:00:00",
"file_id": "1",
"physical_record_length": "",
"block_size": "",
"version_number": "2"
},
"groups": [
{
"header": {
"receiver": "",
"sender": "GSBI",
"status": "1",
"as_of_date": "2020-03-31",
"as_of_time": "23:00:00",
"currency_code": "",
"as_of_date_modifier": ""
},
"control": {
"total": "12000",
"number_of_accounts": "2",
"number_of_records": "5"
},
"accounts": [
{
"header": {
"account_number": "123456",
"currency_code": "USD",
"type_code": "010",
"amount": "10000",
"item_code": "",
"funds_type": ""
},
"control": {
"total": "11000",
"number_of_records": "2"
},
"transactions": [
{
"type_code": "495",
"amount": "1000",
"funds_type": "",
"bank_reference_number": "I1220012",
"customer_reference_number": "endtoendID",
"text": "To: Payee account",
"continuations": [
{
"text": "CREF: 9f4396bd-8c47-4893-8682-bd8ff006d140"
}
]
}
],
"continuations": []
}
],
"continuations": []
}
],
"file_control": {
"total": "22000",
"number_of_groups": "2",
"number_of_records": "10"
},
"last_record_type": "File"
}
资源
在编写此库时,我非常依赖以下来源的文档
致谢
解析器受到了 Leejay Hsu 的 nacha 工具 的极大启发。
依赖
~5.5–8MB
~139K SLoC