大刀王武 发表于 2015-10-13 09:16:21

定义扩展类型的数据点是否要经过base64编码再填充到json中?

public void cWrite(XPGWifiDevice xpgWifiDevice, String key, Object value){
    try{
      //创建JSONObject 对象,用于封装所有数据
      final JSONObject jsonsend = new JSONObject();
      //写入命令字段(所有产品一致)
      jsonsend.put("cmd", 1);
      //创建JSONObject 对象,用于封装数据点
      JSONObject jsonparam = new JSONObject();
      //写入数据点字段
      jsonparam.put(key, value);
      //写入产品字段(所有产品一致)
      jsonsend.put("entity0", jsonparam);
      //调用发送指令方法
      xpgWifiDevice.write(jsonsend.toString());
    } catch (JSONException e) {
      e.printStackTrace();
    }
}
//例如发送开源空调
cWrite(xpgWifiDevice, "switch", true);
请问:二进制数据点是否也按照json串方式,如果这样是不是首先对二进制数据进行base64编码再构造json对象,即 jsonparam.put(key, value); 中的value是将二进制数据经过base64编码的字符串,传递给SDK后,SDK再还原成二进制按MQTT协议发送?

admin 发表于 2015-10-16 15:42:45

http://club.gizwits.com/forum.php?mod=viewthread&tid=984&extra=page%3D1
页: [1]
查看完整版本: 定义扩展类型的数据点是否要经过base64编码再填充到json中?