Benoit Blanchon пре 12 година
родитељ
комит
4377a5020a
1 измењених фајлова са 94 додато и 0 уклоњено
  1. 94 0
      examples/JsonParserExample/JsonParserExample.ino

+ 94 - 0
examples/JsonParserExample/JsonParserExample.ino

@@ -0,0 +1,94 @@
+/*
+* malloc-free JSON parser for Arduino
+* Benoit Blanchon 2014 - MIT License
+*/
+
+#include <JsonParser.h>
+
+void ParseAnObject()
+{
+    char* json = "{\"Name\":\"Blanchon\",\"Skills\":[\"C\",\"C++\",\"C#\"],\"Age\":32,\"Online\":true}";
+
+    JsonParser<256> parser;
+
+    Serial.print("Parse ");
+    Serial.println(json);
+
+    JsonHashTable hashTable = parser.parseHashTable(json);
+
+    if (!hashTable.success())
+    {
+        Serial.println("JsonParser.parseHashTable() failed");
+        return;
+    }
+
+    char* name = hashTable.getString("Name");
+    Serial.print("name=");
+    Serial.println(name);
+
+    JsonArray skills = hashTable.getArray("Skills");
+    Serial.println("skills:");
+    for (int i = 0; i < skills.getLength(); i++)
+    {
+        char* value = skills.getString(i);
+        Serial.print(i);
+        Serial.print(" ");
+        Serial.println(value);
+    }
+
+    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<256> 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()
+{
+
+}