想用arduino ide解析androidstudio发送的json数据,但是一直显示"parseOb
下面是androidstudio发送json数据的代码,应该是发送成功了,但是arduino显示"parseObject() failed"public void openLed(){ String url = "http://api.heclouds.com/cmds?device_id=xxxxxxxx"; RequestParams params = new RequestParams(url); params.addHeader("api-key","xxxxxxxxx"); params.addHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); params.addHeader("accept", "*/*"); params.addHeader("Connection", "Keep-Alive"); params.addHeader("Charset", "UTF-8"); params.addBodyParameter("code","led-0"); x.http().post(params, new Callback.CommonCallback() { @Override public void onSuccess(String result) { Log.e("bean",result); } @Override public void onError(Throwable ex, boolean isOnCallback) { Log.e("bean","error"); } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { Log.e("bean","finish"); } });}下面是arduinoIDE解析json数据代码:void parseOneNetMqttResponse(char* payload){ Serial.println("start parseOneNetMqttResponse"); StaticJsonBuffer jsonBuffer; // StaticJsonBuffer 在栈区分配内存 它也可以被 DynamicJsonBuffer(内存在堆区分配) 代替 // DynamicJsonBuffer jsonBuffer; JsonObject& root = jsonBuffer.parseObject(payload); // Test if parsing succeeds. if (!root.success()) { Serial.println("parseObject() failed"); return ; } String code = root["code"]; if(strcmp(code.c_str(),"code=led-1")==0) { i=1;digitalWrite(D7, LOW); } else if(strcmp(code.c_str(),"code=led-0")==1) { i=0;digitalWrite(D7, HIGH); } } |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|