2022-08-18 (木)
Goのjsonパッケージ,[]byte
や[]uint8
を勝手にBase64エンコードするの,うっかり忘れていると何故かGoで生成したjsonだけ他のライブラリで読めなくなったりして困る.単一の値や配列はそのままエンコードされるのに,スライスになった途端Base64エンコードしだすし,便利な場合より困ることが多い気がする.
この挙動はオプションでコントロール出来ないっぽいので,一旦 []uint16
に詰め直したり,専用の型にしてMarshalJSON()書く必要があって面倒.
https://github.com/soichisumi/go-simple-jsonmarshaler みたいなのもあるけど,継続してメンテナンスされてそうなライブラリあれば良いのだけど.