在Python中将协议二进制转换为JSON

时间:2017-09-13 17:54:42

标签: python json protocol-buffers

我正在尝试将协议二进制文件转换为JSON,并想知道是否有一个python包来帮助。从本质上讲,我想从命令行执行与protoc --decode_raw相同的操作,但是在python中。

以下是我在命令行中采取的步骤

aws kinesis get-records --limit 1 --shard-iterator AAAAAAAAAAGnyjeVQ5xQiKM4h2wLfvRxs5NoQzo5lijjqXnzcd3S2ZbPeN3PY3TSEfX2/yanQ0tMoAK3/ly2BaNqmX1z1q4MvguqzbYlxUyW7vLhlA/I5v0B+OR5zSsrws9j+mcL/YjHrxKVFVI3FXCfTASYagiRm0AvmfgR3tMSA8fdbG7U7nVfkBvliSmCCtf/+Ky/JuZGhhuLS7KAe0pk+7Qf2HhB | jq '.Records[0].Data' -r | base64 --decode 

给出输出:

  

$ni Y * @    (208BimpHPY   �]%@我   `]%@ QJ4 @ YQ @ Q   178.195.156.0CH07 ^和5-ef480d0d-CECA-425F-8a9b-3a8b508443e8 + GT; play.google。 COM /存储/应用程序/详细信息?ID =com.fingersoft.hillclimbΦ2ݐ$? cpmQ Q + 2fHX $ 2〜USDUSD?4.10.0com.fingersoft.hillclimb 1203 $ 566b7011-1902-46c2-a0ed-0dcdf3475537(U ---

如果我将| protoc --decode_raw添加到最后,那么它解码很好。我希望能够解码它并使用Python将其转换为JSON。请注意,我尝试使用google.protobuf.json_format,但因为输入是协议二进制而不是协议消息,所以它不起作用。

0 个答案:

没有答案