我正在使用Arduino UNO,我需要解析一个JSON文件,考虑到微控制器只有2k的SRAM,这个文件可能会很大。我发现这个库(stream_json_reader)可以通过char处理文件char,看起来适合我的porpuses。问题是我无法想象如何在Arduino IDE中正确导入它。到目前为止,我的Documents/Arduino/libraries
文件夹包含stream_json_reader
和stringutils
(可用here)。我已将stream_json_reader.h
文件修改为指向cstringutils.h
(#include "C:/Users/MY_NAME/Documents/Arduino/libraries/stringutils/cstringutils.h"
)。
我的代码类似于:
#include "stream_json_reader.h"
#include "stringutils.h"
#include <SPI.h>
#include <Ethernet.h>
using namespace lasote;
static const char* queries[] = { "response.current_observation.city", "response.current_observation.temp_c"};
StreamJsonReader jsonreader(queries, 2);
[...]
void setup() {
// Retrieving JSON file
[...]
}
void loop()
{
[...]
jsonreader.process_char(c);
[...]
Serial.println(jsonreader.results[0]);
Serial.println(jsonreader.results[1]);
}
但我明白了:...stringutils/stringutils.h:18: error: expected initializer before '<' token
我对Arduino和C ++几乎没有经验。如果问题出在某些#include
或我错放了库文件,我不会这样做。
提前谢谢。
答案 0 :(得分:4)
免责声明:我在biicode工作。
这是一个准备好与biicode一起使用的库,如this blogpost所述。 Biicode是一个C和C ++依赖管理器,它有一个中央在线存储库,并且兼容con VCS。
要使用该库,而不是:#include "stream_json_reader.h"
使用:#include "lasote/stream_json_reader/stream_json_reader.h"
然后执行bii find
和bii arduino:build
或`bii arduino:upload``to
这是关于biicode和Arduino的入门指南:
http://docs.biicode.com/arduino/gettingstarted.html
biicode中提供的Json相关库:http://www.biicode.com/search?q=json