查看JsonParserExample的源代码
←
JsonParserExample
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
[[Json库]] <pre> // Copyright Benoit Blanchon 2014-2016 // MIT License // // Arduino JSON library // https://github.com/bblanchon/ArduinoJson // If you like this project, please add a star! #include <ArduinoJson.h> void setup() { Serial.begin(9600); while (!Serial) { // wait serial port initialization } // Memory pool for JSON object tree.-- 为JSON对象树创建内存池 // // Inside the brackets, 200 is the size of the pool in bytes,-- 200字节为内存是大小 // If the JSON object is more complex, you need to increase that value. -- 如果JSON对象过于复杂,你需要更改这个内存大小 StaticJsonBuffer<200> jsonBuffer; // StaticJsonBuffer allocates memory on the stack, it can be // replaced by DynamicJsonBuffer which allocates in the heap. // -- StaticJsonBuffer 在栈上分配内存,它可以被在对上分配内存的DynamicJsonBuffer所代替 // It's simpler but less efficient. -- DynamicJsonBuffer 简单但效率低 // // DynamicJsonBuffer jsonBuffer; // JSON input string. -- JSON 输入字符串 // // It's better to use a char[] as shown here. -- 最好使用一个char类型 如下所示 // If you use a const char* or a String, ArduinoJson will // have to make a copy of the input in the JsonBuffer. // -- 如果你使用 const char* 或 String, arduinoJson 将不得不使输入数据拷贝成JSON缓冲区数据 char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}"; // Root of the object tree. -- 对象树根 // // It's a reference to the JsonObject, the actual bytes are inside the // JsonBuffer with all the other nodes of the object tree. // -- 这是对JsonObject参考,实际字节是JSONBuffer内的对象树的所有其他节点 // Memory is freed when jsonBuffer goes out of scope. -- jsonBuffer超出范围时内存已经被释放了 JsonObject& root = jsonBuffer.parseObject(json); // Test if parsing succeeds. -- 测试是否解析成功 if (!root.success()) { Serial.println("parseObject() failed"); return; } // Fetch values. -- 取值 // // Most of the time, you can rely on the implicit casts. // In other case, you can do root["time"].as<long>(); const char* sensor = root["sensor"]; long time = root["time"]; double latitude = root["data"][0]; double longitude = root["data"][1]; // Print values. -- 打印值 Serial.println(sensor); Serial.println(time); Serial.println(latitude, 6); Serial.println(longitude, 6); } void loop() { // not used in this example } </pre> ---- [[Arduino库|返回Arduino库菜单]] [[首页|返回首页]] 更多建议和问题欢迎反馈至 [http://www.yfrobot.com YFRobot论坛]
返回
JsonParserExample
。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
变种
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
YF-论坛提问
YFRobot-直营店
YFRobot-企业店
Arduino
Arduino之入门篇
Arduino入门教程
Arduino语法参考
Arduino库
Arduino核心代码
编程平台
Mixly库
Mind+库
MakeCode扩展
传感器系列
积木式传感器系列
黑板传感器系列
蓝板传感器系列
Micro:Bit
Micro:Bit 通用基础教程
Valon智能车
Valon-I
帮助
帮助
wiki语法参考
工具箱
链入页面
相关更改
特殊页面
页面信息