猿问
下载APP

想用arduino ide解析androidstudio发送的json数据,但是一直显示"parseObject() failed"

下面是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<String>() {
        @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<300> 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);        }
        }


帝国神鹰
浏览 449回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答