我用的是这个代码:
const size_t bufferSize = JSON_OBJECT_SIZE(2) + 2*JSON_OBJECT_SIZE(3) + JSON_OBJECT_SIZE(7);
DynamicJsonBuffer jsonBuffer(bufferSize);
JsonObject& root = jsonBuffer.createObject();
JsonObject& loc = root.createNestedObject("loc");
loc["lat"] = 45.123456;
loc["lng"] = 54.654321;我得到的输出是:
{"loc":{"lat":45.12346,"lng":54.65432}}但是,当我将值更改为字符串("xx.xxxxxx")时,它正常工作,只是给我一个字符串而不是一个double。为什么我漏掉了那5和1?
发布于 2022-08-29 12:27:45
您可以使用ARDUINOJSON_USE_DOUBLE配置参数来允许ArduinoJson使用double而不是float类型。
#if ARDUINOJSON_USE_DOUBLE
typedef double Float;
#else
typedef float Float;
#endif如果需要,您可以获得更多关于float:What is the difference between float and double?的详细信息。
https://stackoverflow.com/questions/48618631
复制相似问题