From 757c86ddc5ecdc6e983aaaf6ed86e1c32f72a001 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Sat, 5 Jul 2014 13:09:46 +0200 Subject: [PATCH] Simplified the example --- .../JsonParserExample/JsonParserExample.ino | 88 ++++--------------- 1 file changed, 18 insertions(+), 70 deletions(-) diff --git a/examples/JsonParserExample/JsonParserExample.ino b/examples/JsonParserExample/JsonParserExample.ino index 094fe5a6..e535fd6b 100644 --- a/examples/JsonParserExample/JsonParserExample.ino +++ b/examples/JsonParserExample/JsonParserExample.ino @@ -1,5 +1,5 @@ /* -* malloc-free JSON parser for Arduino +* Arduino JSON library - Parser Example * Benoit Blanchon 2014 - MIT License */ @@ -7,90 +7,38 @@ using namespace ArduinoJson::Parser; -void ParseAnObject() +void setup() { - char json[] = "{\"Name\":\"Blanchon\",\"Skills\":[\"C\",\"C++\",\"C#\"],\"Age\":32,\"Online\":true}"; + Serial.begin(9600); - JsonParser<32> parser; + char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}"; - Serial.print("Parse "); - Serial.println(json); + JsonParser<16> parser; - JsonHashTable hashTable = parser.parseHashTable(json); + JsonHashTable root = parser.parseHashTable(json); - if (!hashTable.success()) + if (!root.success()) { Serial.println("JsonParser.parseHashTable() failed"); return; } - char* name = hashTable.getString("Name"); - Serial.print("name="); - Serial.println(name); + char* sensor = root.getString("sensor"); + Serial.println(sensor); - JsonArray skills = hashTable.getArray("Skills"); - Serial.println("skills:"); - for (int i = 0; i < skills.getLength(); i++) + long time = root.getLong("time"); + Serial.println(time); + + JsonArray coords = root.getArray("data"); + + for (int i = 0; i < coords.getLength(); i++) { - char* value = skills.getString(i); - Serial.print(i); - Serial.print(" "); - Serial.println(value); + double value = coords.getDouble(i); + Serial.println(value, 6); } - - int age = hashTable.getLong("Age"); - Serial.print("age="); - Serial.println(age); - - bool online = hashTable.getBool("Online"); - Serial.print("online="); - Serial.println(online); -} - -void ParseAnArray() -{ - char json[] = "[[1.2,3.4],[5.6,7.8]]"; - - JsonParser<32> parser; - - Serial.print("Parse "); - Serial.println(json); - - JsonArray array = parser.parseArray(json); - - if (!array.success()) - { - Serial.println("JsonParser.parseArray() failed"); - return; - } - - for (int i = 0; i < array.getLength(); i++) - { - Serial.println(i); - - JsonArray innerArray = array.getArray(i); - - for (int j = 0; j < innerArray.getLength(); j++) - { - double value = innerArray.getDouble(j); - - Serial.print(" "); - Serial.print(j); - Serial.print("="); - Serial.println(value); - } - } -} - -void setup() -{ - Serial.begin(9600); - - ParseAnObject(); - ParseAnArray(); } void loop() { -} +} \ No newline at end of file