Slide 58
Slide 58 text
58
特別な型に対応する②
p protobufでnullがシリアライズできない
doSomething3(MyData1, List, (MyResult?, MyError?) -> Unit)
これらの引数にnullが渡されるとシリアライズできない
➜ 複数の引数をJSON配列にまとめる時にJSON nullで表現
val json = JSONArray()
val params = (引数リストに対応するprotoc生成のオブジェクト)
params.forEach { if (it == null) json.put(JSONObject.NULL)
else json.put(Base64.encodeToString(it.toByteArray(), ...)
}
sendMessage.invoke(null, "MyGame", "HandleCallback", json.toString())