YFROBOT创客社区

标题: Arduino library -- JSON Library 使用 [打印本页]

作者: AllBlue    时间: 2016-8-22 11:01
标题: Arduino library -- JSON Library 使用
本帖最后由 AllBlue 于 2016-8-22 16:05 编辑

JSON Library 使用
JSON library github地址:github arduino Json
本站下载地址:[attach]1565[/attach]
WIKI 简介地址
JSON 是什么?

看下josn library的介绍:
An elegant and efficient JSON library for embedded systems.  
It's designed to have the most intuitive API, the smallest footprint and works without any allocation on the heap (no malloc).
It has been written with Arduino in mind, but it isn't linked to Arduino libraries so you can use this library in any other C++ project.
翻译:
优雅和高效的JSON库为嵌入式系统。
它的设计有最直观的API ,最小的足迹和作品,而不在堆(没有malloc)任何分配。
它已被写入与Arduino的想法,但它不挂的Arduino库,这样你就可以在任何其他C ++项目使用这个库。


解码/解析
[C++] 纯文本查看 复制代码
char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";

StaticJsonBuffer<200> jsonBuffer;

JsonObject& root = jsonBuffer.parseObject(json);

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

看例程:
JsonParserExample  -- Json 解析例程
JsonHttpClient         -- Json HTTP Client例程(获取网络Json数据并解析)
JsonHttpClientWithESP8266 -- [attach]1566[/attach]


编码/生成
[C++] 纯文本查看 复制代码
StaticJsonBuffer<200> jsonBuffer;

JsonObject& root = jsonBuffer.createObject();
root["sensor"] = "gps";
root["time"] = 1351824120;

JsonArray& data = root.createNestedArray("data");
data.add(48.756080, 6);  // 6 is the number of decimals to print
data.add(2.302038, 6);   // if not specified, 2 digits are printed

root.printTo(Serial);
// This prints:
// {"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}

看例程:
JsonGeneratorExample  -- Json 生成例程
JsonServer                     -- Json Server例程(生成Json数据并发布)
JsonServerWithESP8266 -- [attach]1568[/attach]







作者: zbl340    时间: 2018-9-9 13:51
新手报道,回复学习




欢迎光临 YFROBOT创客社区 (http://yfrobot.com.cn/) Powered by Discuz! X3.1