mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-03 13:46:46 +02:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
38441691cd | |||
6ed87029e2 | |||
7517ecb91b | |||
49e2a8d421 | |||
259855a87b | |||
aebf042bae | |||
9794ba24b2 |
@ -1,6 +1,13 @@
|
||||
ArduinoJson: change log
|
||||
=======================
|
||||
|
||||
v6.21.4 (2023-12-07)
|
||||
-------
|
||||
|
||||
* Fix error `'std::string' has not been declared` (issue #1967)
|
||||
* Fix error `'std::string_view' has not been declared` (issue #1967)
|
||||
* Fix error `no instance of overloaded function...` on recent IAR compilers (issue #2001)
|
||||
|
||||
v6.21.3 (2023-07-23)
|
||||
-------
|
||||
|
||||
|
@ -10,7 +10,7 @@ if(ESP_PLATFORM)
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(ArduinoJson VERSION 6.21.3)
|
||||
project(ArduinoJson VERSION 6.21.4)
|
||||
|
||||
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
|
||||
include(CTest)
|
||||
|
@ -8,9 +8,9 @@
|
||||
[](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/6.x)
|
||||
[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson)
|
||||
[](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x)
|
||||
[](https://www.ardu-badge.com/ArduinoJson/6.21.3)
|
||||
[](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.21.3)
|
||||
[](https://components.espressif.com/components/bblanchon/arduinojson)
|
||||
[](https://www.ardu-badge.com/ArduinoJson/6.21.4)
|
||||
[](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.21.4)
|
||||
[](https://components.espressif.com/components/bblanchon/arduinojson)
|
||||
[](https://github.com/bblanchon/ArduinoJson/stargazers)
|
||||
[](https://github.com/sponsors/bblanchon)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
version: 6.21.3.{build}
|
||||
version: 6.21.4.{build}
|
||||
environment:
|
||||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
||||
|
@ -20,11 +20,6 @@ int main() {
|
||||
//
|
||||
// DynamicJsonDocument doc(200);
|
||||
|
||||
// StaticJsonObject allocates memory on the stack, it can be
|
||||
// replaced by DynamicJsonDocument which allocates in the heap.
|
||||
//
|
||||
// DynamicJsonDocument doc(200);
|
||||
|
||||
// Add values in the document
|
||||
//
|
||||
doc["sensor"] = "gps";
|
||||
|
@ -1,8 +1,16 @@
|
||||
// ArduinoJson - https://arduinojson.org
|
||||
// Copyright © 2014-2023, Benoit BLANCHON
|
||||
// MIT License
|
||||
|
||||
// we expect ArduinoJson.h to include <string_view>
|
||||
// but we don't want it to included accidentally
|
||||
#undef ARDUINO
|
||||
#define ARDUINOJSON_ENABLE_STD_STREAM 0
|
||||
#define ARDUINOJSON_ENABLE_STD_STRING 0
|
||||
|
||||
#include <ArduinoJson.h>
|
||||
#include <catch.hpp>
|
||||
|
||||
#include <string_view>
|
||||
|
||||
#if !ARDUINOJSON_ENABLE_STRING_VIEW
|
||||
# error ARDUINOJSON_ENABLE_STRING_VIEW must be set to 1
|
||||
#endif
|
||||
@ -19,7 +27,7 @@ TEST_CASE("string_view") {
|
||||
|
||||
SECTION("JsonDocument::set()") {
|
||||
doc.set(std::string_view("123", 2));
|
||||
REQUIRE(doc.as<std::string>() == "12");
|
||||
REQUIRE(doc.as<std::string_view>() == "12");
|
||||
}
|
||||
|
||||
SECTION("JsonDocument::operator[]() const") {
|
||||
|
@ -158,6 +158,11 @@ void convertToJson(char c, JsonVariant var) {
|
||||
char buf[] = {c, 0};
|
||||
var.set(buf);
|
||||
}
|
||||
|
||||
void convertFromJson(JsonVariantConst src, char& dst) {
|
||||
auto p = src.as<const char*>();
|
||||
dst = p ? p[0] : 0;
|
||||
}
|
||||
} // namespace ArduinoJson
|
||||
|
||||
TEST_CASE("Convert char to string") { // issue #1922
|
||||
@ -165,3 +170,9 @@ TEST_CASE("Convert char to string") { // issue #1922
|
||||
doc.set('a');
|
||||
REQUIRE(doc.as<std::string>() == "a");
|
||||
}
|
||||
|
||||
TEST_CASE("Convert string to char") { // issue #1963
|
||||
StaticJsonDocument<64> doc;
|
||||
doc.set("a");
|
||||
REQUIRE(doc.as<char>() == 'a');
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ add_executable(MiscTests
|
||||
arithmeticCompare.cpp
|
||||
conflicts.cpp
|
||||
FloatParts.cpp
|
||||
issue1967.cpp
|
||||
JsonString.cpp
|
||||
NoArduinoHeader.cpp
|
||||
printable.cpp
|
||||
|
13
extras/tests/Misc/issue1967.cpp
Normal file
13
extras/tests/Misc/issue1967.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
// ArduinoJson - https://arduinojson.org
|
||||
// Copyright © 2014-2023, Benoit BLANCHON
|
||||
// MIT License
|
||||
|
||||
// we expect ArduinoJson.h to include <string>
|
||||
#define ARDUINOJSON_ENABLE_STD_STRING 1
|
||||
|
||||
// but we don't want it to included accidentally
|
||||
#undef ARDUINO
|
||||
#define ARDUINOJSON_ENABLE_STD_STREAM 0
|
||||
#define ARDUINOJSON_ENABLE_STRING_VIEW 0
|
||||
|
||||
#include <ArduinoJson.h>
|
@ -1,4 +1,4 @@
|
||||
version: "6.21.3"
|
||||
version: "6.21.4"
|
||||
description: >-
|
||||
A simple and efficient JSON library for embedded C++.
|
||||
ArduinoJson supports ✔ serialization, ✔ deserialization, ✔ MessagePack, ✔ fixed allocation, ✔ zero-copy, ✔ streams, ✔ filtering, and more.
|
||||
|
@ -7,7 +7,7 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/bblanchon/ArduinoJson.git"
|
||||
},
|
||||
"version": "6.21.3",
|
||||
"version": "6.21.4",
|
||||
"authors": {
|
||||
"name": "Benoit Blanchon",
|
||||
"url": "https://blog.benoitblanchon.fr"
|
||||
|
@ -1,5 +1,5 @@
|
||||
name=ArduinoJson
|
||||
version=6.21.3
|
||||
version=6.21.4
|
||||
author=Benoit Blanchon <blog.benoitblanchon.fr>
|
||||
maintainer=Benoit Blanchon <blog.benoitblanchon.fr>
|
||||
sentence=A simple and efficient JSON library for embedded C++.
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include <string.h> // strcmp
|
||||
|
||||
#include <ArduinoJson/Polyfills/assert.hpp>
|
||||
#include <ArduinoJson/Polyfills/attributes.hpp>
|
||||
#include <ArduinoJson/Strings/StoragePolicy.hpp>
|
||||
#include <ArduinoJson/Strings/StringAdapter.hpp>
|
||||
|
||||
@ -27,7 +28,7 @@ class ZeroTerminatedRamString {
|
||||
return !str_;
|
||||
}
|
||||
|
||||
size_t size() const {
|
||||
FORCE_INLINE size_t size() const {
|
||||
return str_ ? ::strlen(str_) : 0;
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,14 @@
|
||||
#include <ArduinoJson/Variant/JsonVariantConst.hpp>
|
||||
#include <ArduinoJson/Variant/VariantFunctions.hpp>
|
||||
|
||||
#if ARDUINOJSON_ENABLE_STD_STRING
|
||||
# include <string>
|
||||
#endif
|
||||
|
||||
#if ARDUINOJSON_ENABLE_STRING_VIEW
|
||||
# include <string_view>
|
||||
#endif
|
||||
|
||||
ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
|
||||
|
||||
template <typename T, typename Enable>
|
||||
|
@ -61,7 +61,8 @@ class VariantRefBase : public VariantTag {
|
||||
return Converter<T>::fromJson(getVariant());
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
template <typename T,
|
||||
typename = typename enable_if<!is_same<T, TDerived>::value>::type>
|
||||
FORCE_INLINE operator T() const {
|
||||
return as<T>();
|
||||
}
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define ARDUINOJSON_VERSION "6.21.3"
|
||||
#define ARDUINOJSON_VERSION "6.21.4"
|
||||
#define ARDUINOJSON_VERSION_MAJOR 6
|
||||
#define ARDUINOJSON_VERSION_MINOR 21
|
||||
#define ARDUINOJSON_VERSION_REVISION 3
|
||||
#define ARDUINOJSON_VERSION_MACRO V6213
|
||||
#define ARDUINOJSON_VERSION_REVISION 4
|
||||
#define ARDUINOJSON_VERSION_MACRO V6214
|
||||
|
Reference in New Issue
Block a user