下面是androidstudio發(fā)送json數(shù)據(jù)的代碼,應(yīng)該是發(fā)送成功了,但是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數(shù)據(jù)代碼:
void?parseOneNetMqttResponse(char*?payload){
???Serial.println("start?parseOneNetMqttResponse");
??????StaticJsonBuffer<300>?jsonBuffer;
???????//?StaticJsonBuffer?在棧區(qū)分配內(nèi)存???它也可以被?DynamicJsonBuffer(內(nèi)存在堆區(qū)分配)?代替
????????//?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);????????}
????????}
想用arduino ide解析androidstudio發(fā)送的json數(shù)據(jù),但是一直顯示"parseObject() failed"
帝國(guó)神鷹
2020-04-05 21:48:10