VB6でちゃんとJSON扱うと便利

車検証OCRのAPIのおかげで、登録識別情報等通知書まできっちり取り込めた。

これは、意図しない書類だったのだが、API側できっちり対応していたので、キーが同じだったので、収まるところに収まったと言う事だ。

VB6でJSONを扱うのにVBA_JSONだったかなんかそんなのを取り込んだわけだが、リザルトとして返って来るJSONがネストしているので一発では分解出来ないので、一度パースして更にFOR EACHで回してやる必要があった。

最初は一発で取れないのでその後適当に自力でやってみたのだが結構ややこしくて、データにJSONで使う[]とかあるととてもややこしくなる。

なので、致し方無しにネストした場合の更に内側のキーを取得する為にもう一度深掘りしてキーとデータを連想配列化していた。

なので、やってみると意外と簡単だったのでJSON怖くないなぁと思っていたところ、この登録識別情報の車検証もどきが取り込まれたが、キーが同じだったのでしっかりとOCRで取り込んで付け合わせてデータが取得されていた。

未対応だったのが車検証タイプでA、B、軽自動車、新軽自動車の4種類を判別していたので一部取り損ねたデータがあったので、見てみると登録識別情報はAタイプの車検証のキーと整合性があったのでAタイプの処理を走らせてみたらばっちり填まって備考もしっかりとシステムに反映させる事ができた。

そもそもPHPでは連想配列当たり前の様に使っていたが、VB6でも同じものがDictionaryと言う型で使えるので非常に便利なのだ。

何が便利かと言うと、キーとデータの関連が担保出来るので、データの順番は関係ないので何処にデータがあってもキーが解れば適切な箇所で取り出せる点にある。

JSONも便利だけど、今回の車検証OCRのAPIもスゴい良くできている。

Panasonicの帳票OCRがクソなのが良く解る。

Panasonicの帳票OCRで車検証取り込んでる所ってあんのかなぁ

コメント