我无法从https://github.com/bblanchon/ArduinoJson运行示例

我已经安装了该库并运行了一个简单的示例。

/*
* Arduino JSON library - Parser Example
* Benoit Blanchon 2014 - MIT License
*/

#include <JsonParser.h>

using namespace ArduinoJson::Parser;

void setup()
{
    Serial.begin(9600);

    char json [] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
    JsonParser<16> parser;
    JsonObject root = parser.parse(json);

    if (!root.success())
    {
        Serial.println("JsonParser.parse() failed");
        return;
    }

    char*  sensor    = root["sensor"];
    long   time      = root["time"];
    double latitude  = root["data"][0];
    double longitude = root["data"][1];

    Serial.println(sensor);
    Serial.println(time);
    Serial.println(latitude, 6);
    Serial.println(longitude, 6);
}

void loop()
{
}


但我收到此错误:

JsonParserExample:8: error: 'ArduinoJson' has not been declared
JsonParserExample:8: error: 'Parser' is not a namespace-name
JsonParserExample:8: error: expected namespace-name before ';' token
JsonParserExample.ino: In function 'void setup()':
JsonParserExample:18: error: 'JsonObject' was not declared in this scope
JsonParserExample:18: error: expected `;' before 'root'
JsonParserExample:20: error: 'root' was not declared in this scope
JsonParserExample:26: error: 'root' was not declared in this scope


命名空间似乎有问题,但我找不到。

最佳答案

我尝试下载它,并且可以正常工作。
我正在使用Arduino IDE 1.0.5 r2。

您是否正确“安装”了库?我的意思是


从github下载档案文件(例如,点击右侧的“下载ZIP”)
将内容提取到草图文件夹内的“库”文件夹中
重命名“ ArduinoJson”中的文件夹
启动Arduino IDE


第三点,您应该拥有文件

<your sketch dir>\libraries\ArduinoJson\ArduinoJson.sln
<your sketch dir>\libraries\ArduinoJson\CHANGELOG.md
<your sketch dir>\libraries\ArduinoJson\JsonParser\JsonParser.vcxproj
and so on


如果您在Arduino IDE中以正确的方式完成了所有操作,您应该在File-> Examples下看到ArduinoJson文件夹,并在其中看到两个示例。

10-01 01:31