Updated README.md

This commit is contained in:
Benoit Blanchon
2014-07-05 16:09:37 +02:00
parent efd8c0ff5c
commit 935cb068ab
2 changed files with 31 additions and 34 deletions

View File

@ -1,11 +1,11 @@
An efficient JSON parser for Arduino
====================================
Arduino JSON library - Parser
=============================
This library is an thin C++ wrapper around the *jsmn* tokenizer: http://zserge.com/jsmn.html
It's design to be very lightweight, works without any allocation on the heap (no malloc) and supports nested objects.
It has been written with Arduino in mind, but it isn't linked to Arduino libraries so you can use this library on any other C++ project.
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.
Features
@ -13,33 +13,26 @@ Features
* Based on the well-proven [jsmn](http://zserge.com/jsmn.html) tokenizer
* Supports nested objects
* Works with fixed memory allocation : no `malloc()`
* Low footprint
* Elegant API, very easy to use
* Fixed memory allocation (no malloc)
* Small footprint
* MIT License
Example
-------
char json[] = "{\"Name\":\"Blanchon\",\"Skills\":[\"C\",\"C++\",\"C#\"],\"Age\":32,\"Online\":true}";
char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
JsonParser<32> parser;
JsonHashTable hashTable = parser.parseHashTable(json);
JsonHashTable root = parser.parseHashTable(json);
if (!hashTable.success())
{
return;
}
char* name = hashTable.getString("Name");
JsonArray skills = hashTable.getArray("Skills");
int age = hashTable.getLong("Age");
bool online = hashTable.getBool("Online");
char* sensor = root.getString("sensor");
long time = root.getLong("time");
JsonArray coords = root.getArray("data");
How to use ?
@ -49,13 +42,15 @@ How to use ?
Download the library and extract it to:
<your Arduino Sketch folder>/libraries/ArduinoJsonParser
<your Arduino Sketch folder>/libraries/ArduinoJson
### 2. Import in your sketch
Just add the following line on the top of your `.ino` file:
Just add the following lines at the top of your `.ino` file:
#include <JsonParser.h>
using namespace ArduinoJson::Parser;
### 3. Create a parser
@ -233,7 +228,7 @@ Code size
Theses tables has been created by analyzing the map file generated by AVR-GCC after adding `-Wl,-Map,foo.map` to the command line.
As you'll see the code size if between 1680 and 3528 bytes, depending on the features you use.
As you'll see the code size is between 1680 and 3528 bytes, depending on the features you use.
### Minimum setup
@ -406,11 +401,4 @@ As you'll see the code size if between 1680 and 3528 bytes, depending on the fea
<td>TOTAL</td>
<td>710</td>
</tr>
</table>
Links
-----
* [The project for which I made me this library](http://blog.benoitblanchon.fr/rfid-payment-terminal/)
* [Blog post on the motivation for this library](http://blog.benoitblanchon.fr/arduino-json-parser/)
</table>