Получите INT в конце сериализованного JSON - PullRequest
0 голосов
/ 08 мая 2019

Таким образом, я обновляю это, поскольку я получил JSON OUT, однако за JSON следует INT

{ "функция": "timereport", "ценность": 545028} 41

  #include <ArduinoJson.h>

char owner[] = "";
const int capacity = JSON_OBJECT_SIZE(2);
DynamicJsonDocument doc(capacity);


void setup() {

Serial.begin(115200);


}

void loop() {
  doc["function"]="timereport";
  doc["values"]=millis();
  Serial.println(serializeJson(doc, Serial));
  delay(5000);
}

Второй ПОПРОБОВАТЬ: (сообщение все еще имеет INT в конце)

char json_string[256];  

http.begin("http://192.168.1.103:2000/hydroapi"); //Specify destination for HTTP request
  http.addHeader("Content-Type","application/json");
  doc["function"]="timereport";
  doc["values"]=millis();

  serializeJson(doc, json_string);
  int httpResponseCode = http.POST(json_string); //Send the actual POST request
  http.end();

1 Ответ

0 голосов
/ 09 мая 2019

Вызов serializeJson выводит json в Serial (поскольку это поток, который вы передаете) и возвращает количество напечатанных байтов, которое вы затем явно печатаете, используя Serial.println. Удалите вызов на Serial.println, чтобы избежать печати количества байтов, просто наберите serializeJson(doc, Serial);

...