Vision APIのレスポンスデータとJSONやディクショナリを相互変換する(Proto Plus for Python、google.protobuf.json_format)
本記事では、Proto Plus for Pythonやgoogle.protobuf.json_formatのメソッドを利用して、主にVision APIのレスポンスデータをJSONやディクショナリと相互に変換する方法を見ていきます。 【目次】 [1]はじめに [2]Vision APIのレスポンスデータ [3]Proto Plus for Pythonのメソッド(to_json,from_json,to_dict)を利用した変換 (1)Proto Plus for Python (2)JSONとの相互変換 (3)ディクショナリとの相互変換 [4]google.protobuf.json_formatを利用した変換 (1)google.protobuf.json_format (2)MessageToJson:レスポンスデータ=>JSON 変換 (3)Parse:JSON=>レスポンスデータ 変換 (4)MessageToDict:レスポンスデータ=>ディクショナリ 変換 (5)ParseDict:ディクショナリ=>レスポンスデータ 変換 [5](参考?)V1.0.0との違いなど [1]はじめに Google Vision APIのPythonクライアントライブラリを利用して画像から情報検出を行うと、そのレスポンスデータ(検出結果)は、 Protocol Buffers で定義された形式で返却されます。 型付けされたProtocol Buffersのデータは、プログラムで扱うのには便利なのですが、JSON形式やディクショナリと相互に変換したい場合もあります。 例えば、以下のようなケースです。 JavaやJavaScript等の他の言語でも処理しやすいように、JSON形式で保存しておきたい。 Vision APIのAsyncBatchAnnotateImagesとAsyncBatchAnnotateFilesのレスポンスは、Cloud StorageにJSON形式で格納される。一方で、プログラムでの処理はProtocol Buffersのオブジェクトで処理したい。 データの可視化ツールやライブラリを利用したり、データベースなどに格納するとき、JSONあるいはディクショナリのデータ形式に変換したい場合がある。 要求される形式がJSONやディクショナリ以外...