问题标签 [arduinojson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
820 浏览

c++ - 序列化为 char* 时,ArduinoJSON 序列化返回一个空字符串

我做了一个序列化设置并返回包含序列化数据的 char* 的函数。

首先,我将所有值打包到 aStaticJsonDocument中,然后使用 确定输出字符串的大小measureJson,然后为输出分配空间,char out[strsize]然后将数据序列化到分配的空间中serializeJson(doc,out,strsize)

问题是输出字符串由于未知原因保持为空。

我检查的事情:

  • Json 文档构造正确,实际上包含配置设置
  • measureJson()函数正确返回输出的大小和正在分配的空间,strsize不是 0

代码:

0 投票
1 回答
2492 浏览

esp8266 - 如何使用 ArduinoJSON 6 从 ESP8266 的 SPIFFS 读取 json 文件?

我目前正在使用 ESP8266 (ESP-12E) 开展一个项目,我需要将信息存储在一个 json 文件中(对我来说,通过 Web 界面访问更方便,比 EEPROM 更容易管理)。

我的问题如下:我使用的是最新版本的 ArduinoJSON (6),但除了在他们的网站上,我没有看到很多示例,并且此代码对我不起作用:

我猜问题是 JsonArray,它是空的!但我的 JsonDocument 不是,因为如果我这样做

我在索引 0 处获得数组的第一个键值(名称)

这是我在 StackOverflow 上的第一篇文章,希望我做得对,在此先感谢您的帮助!

0 投票
1 回答
71 浏览

c++ - 如何使用 ArduinoJson 从同一个文件中检索多个 NDJSON 对象?

我正在尝试使用 ArduinoJson 来解析 Google 的 quickdraw 数据集,其中包含 .ndjson 文件,其中包含多个对象。我想出了如何使用以下简单代码检索文件中的第一个对象:

但是,这只解析 ndjson 文件中的第一个对象。

根据网站,我觉得应该自动发生其他事情:

有什么方法可以获取解析对象的字节长度,我可以继续使用 cstring 来解析连续的对象吗?我确实打印出了 cstring,它确实包含整个 ndjson 文件。

0 投票
0 回答
289 浏览

arduino - 如何使用 arduino json 设置正确的 POST 正文

我正在尝试使用arduino。对服务器POST request进行一些数据处理。但我无法正确格式化该数据。我正在使用arduinojson它,但我不确定我是否做得正确。

但是在 Rails 服务器端,我得到这样的响应:

但它应该是这样的:

让我知道为了正确格式化需要做什么。

0 投票
2 回答
401 浏览

arduino - ESP32 上的 AsyncTCP 和带有 SOFTAP 的奇怪堆/套接字问题

我正在努力解决一个问题,即 ESP32 作为 AP 运行,AsyncTCP 连接多个 ESP32 客户端。AP 接收一些 JSON 数据并回复一些 JSON 数据。如果没有 handleData() 函数,代码可以 100% 正常运行,没有任何问题。当没有客户端连接时,堆是静态的,并且仅在客户端开始连接时才会出现问题。

任何人都可以看到我的代码中可能导致堆损坏或其他内存异常的任何内容吗?

0 投票
0 回答
108 浏览

json - 将 json 中的变量设置为结构会产生奇怪的结果

我的代码输出中有一些我不明白的东西。我的猜测是问题是由于[当然是我]......使用“struct”+“arduinoJson”来存储配置值。

我制作了这个只连接到 Wifi 的简单代码;

  • 要么使用硬编码设置

    loadConfigHarcoded(); // 值的串行打印:OK和“WiFi 成功!”

  • 要么使用反序列化Json

    loadConfigFromJson(); // 值的串行打印:好的,但是“WiFi 连接失败!”

有什么我错过的吗?

完整代码:

0 投票
0 回答
428 浏览

c++ - ArduinoJson 6.15.2:JsonObject 没有命名类型

寻找一些建议,我正在尝试使用 ArduinoJson 库。问题在于下面列出的代码:

错误:

这遵循https://arduinojson.org/v6/api/jsonobject/createnestedobject/上的文档代码

我尝试过的事情:

  1. 直接从上面的文档中尝试过代码(得到相同的错误)
  2. 检查库文件夹中的目录结构重复。
  3. 如果我删除错误行(sensors_0["type"] = "co2" and sensors_0["value"] = 400),我会得到我想要的确切 JSON 结构,而无需键:

{"sensors":[{},{"value":{}}]}

我可能做错了什么?

0 投票
0 回答
309 浏览

arduino - 将字符串反序列化为 StaticJsonDocument

我在 ESP8266 中使用 ArduinoJson、HTTPClient 库进行与 HTTP 相关的通信。我使用了一个 POST 方法 API,它返回一个字符串(但它是一个 json)。

这总是返回反序列化错误。你的建议是什么?

0 投票
0 回答
226 浏览

esp32 - 将 jsonarray 复制到 char* []

我有一个结构,我想用 Arduinojson 库从 JSON 文件中填充数据。填充trackCount是没有问题的。填充 track[] 数组是我卡住的地方。结构:

在设置()中:

在函数 getAudioObject(const char* pConfigFilename, const String *paoID, AudioObject *aO) 中:

我究竟做错了什么?我只希望 aO->tracks 包含存储在 jsonArray 中的曲目。内容为:["filename1.mp3","filename2.mp3",...]

0 投票
3 回答
288 浏览

c++ - C++ 中的 Json 序列化(esp32)

我正在为 esp32 编写一些脚本并努力序列化 json。

使用的库是 HTTPClient 和 ArduinoJson。

接收到的有效载荷是:

{"ip":"10.57.39.137","area":"[{\"id\":\"3\",\"text\":\"BOX\"}]","user":"[{\"id\":\"6270\",\"text\":\"ANDRE LARA OLIVEIRA E SILVA\"}]","teamId":6,"id":4,"siteId":2,"userCreate":"100059527","dateCreate":"2020-11-19T08:49:03.957","userUpdate":null,"dateUpdate":null}

我需要从“用户”键中检索 id 和文本。反序列化和检索用户对象很好。但result["user"]返回 [{"id":"6270","text":"ANDRE LARA OLIVEIRA E SILVA"}]char 数组。所以它有点像嵌套到数组的 json ......而且它无法反序列化。

谁能帮助我如何从“用户”对象中正确获取“id”和“text”值?

谢谢!