我有一些Java的GenericRecord
s的Avro數據,我想轉換爲JSON,我注意到有兩種方法可以做到這一點:一種涉及使用JsonEncoder
,另一種涉及簡單地在GenericRecord
上調用toString()
。在Avro中,調用GenericRecord的toString()和使用JSONEncoder有什麼區別?
經過一些簡短的實驗後,兩種方法似乎都會產生相同的結果,並且在任何一種情況下,生成的JSON字符串都可以使用JsonDecoder
轉換回Avro。所以,我的問題是:
兩者之間是否有任何功能差異,是否有任何理由使用一個在另一個?
我正在使用Avro 1.7.7。
你能分享你是如何將avro通用記錄轉換成json的? – dbustosp 2017-09-08 11:46:17
我使用了JsonEncoder,因爲我需要能夠將JSON反序列化成GenericRecords。有一個使用JsonEncoder從GenericRecords中寫出JSON的例子:https://www.programcreek.com/java-api-examples/index.php?api=org.apache.avro.io.JsonEncoder – alphaloop 2017-09-17 06:49:30