微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

反序列化json流程始终不完整

如何解决反序列化json流程始终不完整

你好,我是arduinojson的新手。我想从串行中解析datajson(先发送raspi,然后发送HC12)。当我打印接收到的数据正确时,反序列化过程始终不完整。我该怎么做才能解决它?

[code]
int session = 1;    
int id = 1;
int stand  = 100;

  bytecounthc12 = -1 ;                                          
  yield();                                                     
  char Bufferhc12[len];                                         
  bytecounthc12 = HC12.readBytesUntil('#',Bufferhc12,len);    /
  datastrhc12 = "";
  yield();
    if (bytecounthc12  > 0) {                                   
      checkdatahc12 = true;                                     
        for (int i = 0; i < bytecounthc12; i++) {              
          datastrhc12 += Bufferhc12[i];                         
        }
          if(datastrhc12.length() == len) {
            Serial.println(datastrhc12);                        
            
//String datastrhc12 ="{\"sessionid\": 1,\"idmeter\": [1,2,3],\"standmeter\": [0,0],\"state\": [false,false,false],\"uplink\": false}";
            //datastrhc12 = '\0'; //nullterminated dibutuhkan untuk json string
            

StaticJsonDocument<350> doc;
            Serial.setTimeout(10000);
            DeserializationError err = deserializeJson(doc,Serial);          
              if(err) {
                Serial.print(F("deserializeJson() Failed: "));
                Serial.println(err.c_str());                               
                return;
              }

如果反序列化过程可以按我预期的方式运行,请反序列化运行,因为我在tet编辑器arduino中手动定义了变量输入,就像这样

字符串输入=“ {” sessionid“:1,” idmeter“:[1,3],” standmeter“:[0,0],” state“:[false,false,false], “ uplink”:false}“;

,为什么不能从串行读取? 如果我使用readStringUntil数据无法完成,那么使用readbyte会更好。

请帮助我进行反序列化,请先感谢

when I print the data that I receive is correct but the deserialization process is always incomplete

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?