最近在做RTP传输时候,从发送端传输一个视频信息到接收端,结果使用gson转换成bean的时候一直在报错需要一个默认的空构造函数,最后发现因为bean里面很多参数都是final类型的,所以不能直接用空构造函数。然后想了下,干脆就用JSONObject进行逐级设置就好。然后遇到了两个问题
1:json里面默认小数是double类型的,但是实际上用到的是float类型;
JSONObject只能读取double类型,所以需要进行转换。
无法进行强制转换,就是用了,包装类的API,将double转为float.
如下
Float.parseFloat(Double.toString(d))
2:无法读取循环读取出二维byte数组,默认读取的是object。
最后就先将数据转换为string,然后再获取byte[]数据
jsonArray.get(i).toString().getBytes()
在官方API里面暂时未发现其他方式,在此记录下。